Function at 0x10002580
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10024246
mov eax, dword fs:[0]
push eax
mov eax, 0x10f8
call fcn.10019460
mov eax, dword [0x10029700]
xor eax, esp
mov dword [esp + 0x10f4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10029700]
xor eax, esp
push eax
lea eax, [esp + 0x110c]
mov dword fs:[0], eax
mov ebp, ecx
cmp byte [ebp + 0x5708], 0
jne 0x10002667
call fcn.10008eb0
cmp byte [ebp + 0x7e34], 0
mov dword [ebp + 0x7e24], eax
mov dword [ebp + 0x7e28], edx
je 0x100025f4
mov ecx, ebp
call fcn.100021d0
jmp 0x10003314
push ebp
lea ecx, [esp + 0x1c]
call fcn.1000e170
cmp byte [ebp + 0x7e3c], 0
mov dword [esp + 0x1114], 0
je 0x1000266e
mov ecx, dword [ebp + 0x7e40]
mov edx, dword [ebp + 0x7e28]
xor eax, eax
add ecx, 0x14
adc eax, eax
cmp edx, eax
jl 0x1000266e
jg 0x10002635
mov eax, dword [ebp + 0x7e24]
cmp eax, ecx
jb 0x1000266e
push 8
lea edi, [ebp + 0xe60]
push edi
mov ecx, ebp
mov byte [esp + 0x1f], 1
call fcn.100097e0
cmp eax, 8
je 0x10002678
mov ecx, ebp
call fcn.10002180
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10002667
push eax
call fcn.10018e3b
add esp, 4
xor eax, eax
jmp 0x10003314
mov byte [esp + 0x17], 0
jmp 0x1000271a
mov eax, dword [ebp + 0x138c]
cmp word [eax + 0x281c], 0
jne 0x100026e9
mov ecx, dword [eax + 0x4350]
test ecx, ecx
je 0x100026af
mov eax, dword [eax + 0x434c]
push 0x80
lea edx, [esp + 0x8c]
push edx
push eax
push 2
call ecx
cmp eax, 0xffffffff
jne 0x100026c5
mov ecx, ebp
call fcn.10008dd0
push 0xff
mov ecx, 0x1002bd54
call fcn.10006230
mov ecx, dword [ebp + 0x138c]
push 0x80
add ecx, 0x281c
push ecx
lea edx, [esp + 0x90]
push 0
push edx
call fcn.1000b240
add esp, 0x10
cmp byte [ebp + 0x575c], 0x24
mov edx, dword [ebp + 0x138c]
setae al
movzx ecx, al
push ecx
push 0
push 0
push edi
add edx, 0x281c
lea esi, [ebp + 0xc20]
push edx
mov ecx, esi
call fcn.10004cc0
mov dword [esp + 0x30], esi
push 7
lea ecx, [esp + 0x1c]
call fcn.1000dfa0
cmp dword [esp + 0x28], 0
je 0x1000264f
lea esi, [ebp + 0x573c]
push esi
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea eax, [esp + 0x37]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
movzx ecx, byte [esp + 0x37]
mov dword [ebp + 0x5740], ecx
lea ebx, [ebp + 0x5744]
push ebx
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea edi, [ebp + 0x5746]
push edi
lea ecx, [esp + 0x1c]
call fcn.1000e060
movzx eax, word [edi]
cmp ax, 7
jb 0x100032b3
mov ecx, dword [ebp + 0x5740]
cmp ecx, 0x75
jne 0x10002795
push 6
jmp 0x100027aa
cmp ecx, 0x73
jne 0x100027a3
test byte [ebx], 2
je 0x100027a3
push 6
jmp 0x100027aa
movzx edx, ax
sub edx, 7
push edx
lea ecx, [esp + 0x1c]
call fcn.1000dfa0
movzx eax, word [edi]
cdq
add eax, dword [ebp + 0x7e24]
adc edx, dword [ebp + 0x7e28]
mov dword [ebp + 0x7e2c], eax
mov eax, dword [ebp + 0x5740]
lea ecx, [eax - 0x73]
mov dword [ebp + 0x7e30], edx
cmp ecx, 8
ja case.default.0x100027e1
jmp dword [ecx*4 + 0x1000333c]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [ebp + 0x5748], eax
mov dword [ebp + 0x574c], ecx
lea eax, [ebp + 0x5754]
push eax
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x5750], edx
call fcn.1000e060
lea ecx, [ebp + 0x5758]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
mov edx, 0x200
test word [ebp + 0x5750], dx
je case.default.0x10002f70
lea eax, [ebp + 0x575c]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
jmp case.default.0x10002f70
mov ecx, dword [esi]
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
mov dword [ebp + 0x6444], ecx
mov dword [ebp + 0x6448], edx
mov dword [ebp + 0x644c], eax
test al, 2
je 0x10002877
lea ecx, [ebp + 0x6450]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
test byte [ebp + 0x644c], 8
je case.default.0x10002f70
lea edx, [ebp + 0x6454]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e060
jmp case.default.0x10002f70
lea ebx, [ebp + 0x5760]
cmp eax, 0x74
je 0x100028aa
lea ebx, [ebp + 0x646c]
mov eax, dword [esi]
mov dword [ebx], eax
mov ecx, dword [esi + 4]
mov dword [ebx + 4], ecx
mov edx, dword [esi + 8]
lea eax, [ebx + 0xc]
push eax
lea ecx, [esp + 0x1c]
mov dword [ebx + 8], edx
call fcn.1000e0a0
lea eax, [ebx + 0x10]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea eax, [ebx + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea ecx, [ebx + 0x18]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea eax, [ebx + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea edx, [ebx + 0x20]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea eax, [ebx + 0x21]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea eax, [ebx + 0x22]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea ecx, [ebx + 0x24]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
mov edx, 0x100
lea edi, [ebx + 0x28]
test word [ebx + 8], dx
je 0x10002956
push edi
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea esi, [ebx + 0x2c]
push esi
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
jmp 0x10002978
cmp dword [ebx + 0x10], 0xffffffff
lea esi, [ebx + 0x2c]
mov dword [esi], 0
mov dword [edi], 0
jne 0x10002978
mov dword [ebx + 0x10], 0x7fffffff
mov dword [esi], 0x7fffffff
mov eax, dword [edi]
push 1
push 0
push 0
push eax
call fcn.100194a0
mov ecx, dword [ebx + 0xc]
xor edi, edi
add eax, ecx
push 1
adc edx, edi
push edi
mov dword [ebx + 0xcd8], edx
mov edx, dword [esi]
push edi
push edx
mov dword [ebx + 0xcd4], eax
call fcn.100194a0
mov ecx, dword [ebx + 0x10]
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebx + 0xcdc], eax
movzx eax, word [ebx + 0x22]
mov dword [ebx + 0xce0], edx
mov edx, 0xfff
movzx esi, ax
cmp ax, dx
jb 0x100029cf
mov esi, edx
push esi
lea eax, [esp + 0x10c]
push eax
lea ecx, [esp + 0x20]
call fcn.1000e0f0
push 0x400
lea ecx, [esp + 0x10c]
lea edi, [ebx + 0x30]
push ecx
push edi
mov byte [esp + esi + 0x114], 0
mov dword [esp + 0x54], edi
call fcn.10010de0
mov eax, dword [ebx + 4]
add esp, 0xc
cmp eax, 0x7a
jne 0x10002a92
movzx esi, word [ebx + 0xa]
movzx edx, word [ebx + 0x22]
sub esi, edx
mov eax, 0x400
sub esi, 0x20
test word [ebx + 8], ax
je 0x10002a2d
sub esi, 8
test esi, esi
jle 0x10002b58
lea edi, [ebx + 0xc30]
push esi
mov ecx, edi
call fcn.10001730
mov ecx, dword [edi]
push esi
push ecx
lea ecx, [esp + 0x20]
call fcn.1000e0f0
push 0x1002522c
mov ecx, ebx
call fcn.100010d0
test al, al
je 0x10002b58
mov eax, dword [edi]
movzx edx, byte [eax + 0xb]
movzx ecx, byte [eax + 0xa]
add eax, 8
shl edx, 8
add edx, ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
shl edx, 8
add edx, ecx
shl edx, 8
add edx, eax
mov dword [ebp + 0x56fc], edx
jmp 0x10002b58
cmp eax, 0x74
jne 0x10002b58
mov ecx, 0x200
test word [ebx + 8], cx
je 0x10002b36
lea ecx, [esp + 0x4c]
call fcn.10005ec0
lea eax, [esp + 0x108]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10002ac0
movzx ecx, word [ebx + 0x22]
sub eax, edx
lea esi, [ebx + 0x430]
cmp eax, ecx
jne 0x10002b02
push 0x3ff
lea edx, [esp + 0x10c]
push esi
push edx
call fcn.10011780
push 0x3ff
push edi
push esi
call fcn.10011680
push edi
push edi
call fcn.10010cc0
add esp, 0x20
jmp 0x10002b25
push 0x400
inc eax
sub ecx, eax
push esi
push ecx
lea eax, [esp + eax + 0x114]
push eax
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x60]
call fcn.10005ee0
cmp word [esi], 0
jne 0x10002b41
mov edx, 0xfdff
and word [ebx + 8], dx
jmp 0x10002b41
lea esi, [ebx + 0x430]
xor eax, eax
mov word [esi], ax
push edi
mov ecx, ebp
call fcn.10002050
push esi
mov ecx, ebp
call fcn.100020b0
mov ecx, ebp
call fcn.100024a0
mov ecx, 0x400
test word [ebx + 8], cx
je 0x10002b75
push 8
lea edx, [ebx + 0xc3c]
push edx
lea ecx, [esp + 0x20]
call fcn.1000e0f0
mov eax, dword [ebx + 0x1c]
push eax
lea ecx, [ebx + 0xc44]
call fcn.10011350
xor esi, esi
mov ecx, 0x1000
mov dword [ebx + 0xc68], esi
mov dword [ebx + 0xc8c], esi
mov dword [ebx + 0xcb0], esi
test word [ebx + 8], cx
je 0x10002cb3
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea eax, [ebp + 0x63a4]
lea edx, [ebp + 0x63ec]
mov dword [esp + 0x4c], eax
lea ecx, [ebp + 0x63c8]
lea eax, [ebp + 0x6410]
mov dword [esp + 0x44], 0xc
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], esi
lea ecx, [ecx]
movzx eax, word [esp + 0x40]
mov edi, dword [esp + esi*4 + 0x4c]
mov cl, dl
shr eax, cl
mov dword [esp + 0x38], eax
test al, 8
je 0x10002c9e
test esi, esi
je 0x10002c2b
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
mov edx, dword [esp + 0x60]
push edx
mov ecx, edi
call fcn.10011350
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + edx*4 + 0x4c]
mov ecx, 9
lea edi, [esp + 0x64]
rep movsd dword es:[edi], dword [esi]
test al, 4
je 0x10002c46
inc dword [esp + 0x78]
and eax, 3
mov dword [esp + 0x7c], 0
jle 0x10002c85
mov esi, 3
sub esi, eax
add esi, esi
add esi, esi
add esi, esi
mov edi, eax
lea eax, [esp + 0x36]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
movzx edx, byte [esp + 0x36]
mov ecx, esi
shl edx, cl
add esi, 8
or dword [esp + 0x7c], edx
sub edi, 1
jne 0x10002c62
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + eax*4 + 0x4c]
mov edx, dword [esp + 0x44]
mov ecx, 9
lea esi, [esp + 0x64]
rep movsd dword es:[edi], dword [esi]
mov esi, eax
sub edx, 4
inc esi
cmp edx, 0xfffffffc
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], edx
jg 0x10002bf0
mov ecx, dword [ebx + 0xcd4]
add dword [ebp + 0x7e2c], ecx
mov edx, dword [ebx + 0xcd8]
adc dword [ebp + 0x7e30], edx
mov al, byte [ebx + 8]
shr al, 3
and al, 1
mov byte [esp + 0x38], al
mov ecx, dword [esp + 0x38]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e140
not eax
mov word [ebp + 0x7e46], ax
cmp word [ebx], ax
je case.default.0x10002f70
cmp dword [ebx + 4], 0x7a
mov esi, dword [esp + 0x48]
jne 0x10002d3b
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10002d06
sub eax, edx
cmp eax, 0x3fb
jae 0x10002d3b
mov eax, esi
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10002d20
mov edx, dword [0x10025238]
mov dword [eax], edx
mov cx, word [0x1002523c]
mov word [eax + 4], cx
push 1
mov ecx, 0x1002bd54
mov byte [ebp + 0x7e44], 1
call fcn.100060b0
cmp byte [esp + 0x17], 0
je 0x10002d6f
push 0
lea ecx, [esp + 0x1c]
call fcn.1000e140
not eax
cmp word [ebp + 0x573c], ax
jne case.default.0x10002f70
push esi
call fcn.10010ed0
add esp, 4
jmp case.default.0x10002f70
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [ebp + 0x7150], edx
mov dword [ebp + 0x7154], eax
lea edx, [ebp + 0x715c]
mov dword [ebp + 0x7158], ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea eax, [ebp + 0x715e]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea ecx, [ebp + 0x715f]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea edx, [ebp + 0x7160]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e060
jmp case.default.0x10002f70
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [ebp + 0x7198], eax
mov dword [ebp + 0x719c], ecx
lea eax, [ebp + 0x71a4]
push eax
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x71a0], edx
call fcn.1000e0a0
lea ecx, [ebp + 0x71a8]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea edx, [ebp + 0x71aa]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e060
jmp case.default.0x10002f70
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [ebp + 0x7184], eax
mov dword [ebp + 0x7188], ecx
lea eax, [ebp + 0x7190]
push eax
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x718c], edx
call fcn.1000e030
lea ecx, [ebp + 0x7191]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea edx, [ebp + 0x7192]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea eax, [ebp + 0x7194]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
jmp case.default.0x10002f70
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ebp + 0x7164], ecx
lea esi, [ebp + 0x7170]
mov dword [ebp + 0x7168], edx
push esi
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x716c], eax
call fcn.1000e0a0
lea ecx, [ebp + 0x7174]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea edi, [ebp + 0x7176]
push edi
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea edx, [ebp + 0x7178]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
push 8
lea eax, [ebp + 0x717c]
push eax
lea ecx, [esp + 0x20]
call fcn.1000e0f0
movzx edx, word [edi]
mov ecx, dword [esi]
mov dword [ebp + 0x56fc], edx
jmp 0x100031e9
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [ebp + 0x6458], eax
mov dword [ebp + 0x645c], ecx
lea esi, [ebp + 0x6464]
push esi
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x6460], edx
call fcn.1000e0a0
mov eax, dword [esi]
add dword [ebp + 0x7e2c], eax
lea esi, [ebp + 0x6468]
push esi
adc dword [ebp + 0x7e30], 0
lea ecx, [esp + 0x1c]
call fcn.1000e060
lea ecx, [ebp + 0x646a]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e030
movzx eax, word [esi]
add eax, 0xffffff00
cmp eax, 5
ja case.default.0x10002f70
jmp dword [eax*4 + 0x10003360]
mov edx, dword [ebp + 0x6458]
mov eax, dword [ebp + 0x645c]
mov ecx, dword [ebp + 0x6460]
mov dword [ebp + 0x71ac], edx
mov edx, dword [ebp + 0x6464]
mov dword [ebp + 0x71b0], eax
mov eax, dword [ebp + 0x6468]
mov dword [ebp + 0x71b4], ecx
lea esi, [ebp + 0x71c0]
mov dword [ebp + 0x71b8], edx
push esi
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x71bc], eax
call fcn.1000e060
lea edi, [ebp + 0x71c2]
push edi
lea ecx, [esp + 0x1c]
call fcn.1000e060
mov ecx, 0x3ff
cmp word [esi], cx
jbe 0x10002fe2
mov edx, ecx
mov word [esi], dx
mov eax, ecx
cmp word [edi], ax
jbe 0x10002fec
mov word [edi], cx
movzx edx, word [esi]
push edx
lea eax, [ebp + 0x71c4]
push eax
lea ecx, [esp + 0x20]
call fcn.1000e0f0
movzx ecx, word [edi]
push ecx
lea edx, [ebp + 0x75c4]
push edx
lea ecx, [esp + 0x20]
call fcn.1000e0f0
movzx eax, word [esi]
mov byte [eax + ebp + 0x71c4], 0
movzx ecx, word [edi]
mov byte [ecx + ebp + 0x75c4], 0
jmp case.default.0x10002f70
mov edx, dword [ebp + 0x6458]
mov eax, dword [ebp + 0x645c]
mov ecx, dword [ebp + 0x6460]
mov dword [ebp + 0x79c4], edx
mov edx, dword [ebp + 0x6464]
mov dword [ebp + 0x79c8], eax
mov eax, dword [ebp + 0x6468]
mov dword [ebp + 0x79cc], ecx
lea ecx, [ebp + 0x79d8]
push ecx
mov dword [ebp + 0x79d0], edx
lea ecx, [esp + 0x1c]
mov dword [ebp + 0x79d4], eax
call fcn.1000e0a0
lea edx, [ebp + 0x79dc]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
jmp case.default.0x10002f70
mov eax, dword [ebp + 0x6458]
mov ecx, dword [ebp + 0x645c]
mov edx, dword [ebp + 0x6460]
mov dword [ebp + 0x79e0], eax
mov eax, dword [ebp + 0x6464]
mov dword [ebp + 0x79e4], ecx
mov ecx, dword [ebp + 0x6468]
mov dword [ebp + 0x79e8], edx
mov dword [ebp + 0x79ec], eax
lea edx, [ebp + 0x79f4]
mov dword [ebp + 0x79f0], ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea eax, [ebp + 0x79f8]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea ecx, [ebp + 0x79f9]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea edx, [ebp + 0x79fc]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
jmp case.default.0x10002f70
mov eax, dword [ebp + 0x6458]
mov ecx, dword [ebp + 0x645c]
mov edx, dword [ebp + 0x6460]
mov dword [ebp + 0x7a00], eax
mov eax, dword [ebp + 0x6464]
mov dword [ebp + 0x7a04], ecx
mov ecx, dword [ebp + 0x6468]
mov dword [ebp + 0x7a08], edx
mov dword [ebp + 0x7a0c], eax
lea edx, [ebp + 0x7a14]
mov dword [ebp + 0x7a10], ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea eax, [ebp + 0x7a18]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea ecx, [ebp + 0x7a19]
push ecx
lea ecx, [esp + 0x1c]
call fcn.1000e030
lea edx, [ebp + 0x7a1c]
push edx
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
lea esi, [ebp + 0x7a20]
push esi
lea ecx, [esp + 0x1c]
call fcn.1000e060
mov eax, 0x3ff
cmp word [esi], ax
jbe 0x100031ac
mov ecx, eax
mov word [esi], cx
movzx edx, word [esi]
push edx
lea eax, [ebp + 0x7a22]
push eax
lea ecx, [esp + 0x20]
call fcn.1000e0f0
movzx ecx, word [esi]
mov byte [ecx + ebp + 0x7a22], 0
jmp case.default.0x10002f70
mov edx, 0x8000
test word [ebx], dx
je case.default.0x10002f70
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x1c]
call fcn.1000e0a0
mov ecx, dword [esp + 0x38]
add dword [ebp + 0x7e2c], ecx
adc dword [ebp + 0x7e30], 0
push 0
lea ecx, [esp + 0x1c]
call fcn.1000e140
cmp byte [esp + 0x17], 0
mov ecx, dword [ebp + 0x5740]
not eax
mov word [ebp + 0x7e46], ax
mov dword [ebp + 0x5734], ecx
je 0x100032df
mov edx, dword [esp + 0x1c]
sub edx, dword [esp + 0x28]
add edx, 8
add dword [ebp + 0x7e2c], edx
adc dword [ebp + 0x7e30], 0
cmp word [ebp + 0x573c], ax
je 0x100032df
cmp ecx, 0x7b
jne 0x100032ac
test byte [ebp + 0x644c], 4
je 0x100032ac
push ebp
lea ecx, [esp + 0x50]
call fcn.1000f590
mov ecx, ebp
mov byte [esp + 0x1114], 1
call fcn.10008eb0
sub eax, 7
push 0
sbb edx, 0
push edx
push eax
mov ecx, ebp
call fcn.10009560
mov bl, 1
mov esi, 7
mov ecx, ebp
call fcn.100098e0
test al, al
je 0x10003292
xor bl, bl
sub esi, 1
jne 0x10003285
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1114], 0
call fcn.1000f5c0
test bl, bl
jne 0x100032df
mov byte [ebp + 0x5708], 1
push 3
mov ecx, 0x1002bd54
mov byte [ebp + 0x7e44], 1
call fcn.100060b0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10002667
push eax
call fcn.10018e3b
add esp, 4
xor eax, eax
jmp 0x10003314
mov eax, dword [ebp + 0x7e30]
cmp eax, dword [ebp + 0x7e28]
jg 0x100032fd
jl 0x100032b3
mov ecx, dword [ebp + 0x7e2c]
cmp ecx, dword [ebp + 0x7e24]
jbe 0x100032b3
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
test eax, eax
je 0x10003312
push eax
call fcn.10018e3b
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x110c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10f4]
xor ecx, esp
call fcn.10018d13
add esp, 0x1104
ret