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

Disassembly:
sub esp, 0x60
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
push edi
mov esi, dword [ebx + 8]
xor edi, edi
push ebx
mov byte [esp + 0x17], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x20], esi
call fcn.0045d470
mov ecx, dword [ebx + 0x50]
mov edx, eax
push ecx
push 0x2c
push edx
lea eax, [ecx + 1]
mov dword [ebx + 0x50], eax
call fcn.004754d0
mov edx, dword [esp + 0x8c]
xorps xmm0, xmm0
mov esi, dword [esp + 0x98]
xor ecx, ecx
mov dword [esp + 0x60], eax
add esp, 0x10
movlpd qword [esp + 0x48], xmm0
mov eax, dword [edx + 0x10]
mov esi, dword [esi + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov ebp, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], ebp
lea eax, [eax + eax*2]
shl eax, 4
add eax, ebp
mov dword [esp + 0x3c], eax
cmp ebp, eax
jae 0x4295f0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
jmp 0x428fb5
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax]
or eax, dword [edi + 4]
mov edi, dword [esp + 0x20]
jne 0x42949e
test byte [ebp + 0x14], 2
jne 0x42949e
mov esi, dword [ebp]
test byte [esi + 4], 1
jne 0x42949a
mov eax, dword [edx + 0x30]
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x54]
movups xmmword [esp + 0x54], xmm0
push esi
movq qword [esp + 0x68], xmm0
push eax
mov byte [esp + 0x70], 3
mov dword [esp + 0x5c], 0x42f250
mov dword [esp + 0x60], 0x447230
call fcn.00482c40
add esp, 8
cmp byte [esp + 0x68], 0
je 0x429496
push 0
push 0
push esi
push dword [ebx]
call fcn.0042ef70
mov esi, dword [ebx]
add esp, 0x10
mov ebp, eax
test edi, edi
jne 0x429050
mov edi, ebp
mov dword [esp + 0x20], edi
jmp 0x429492
test ebp, ebp
je 0x429492
mov edx, dword [edi + 4]
mov dword [esp + 0x40], 0
test dl, 1
jne 0x429085
lea eax, [esp + 0x40]
push eax
push edi
call fcn.004576b0
add esp, 8
test eax, eax
je 0x429085
cmp dword [esp + 0x40], 0
je 0x42929b
push ebp
call fcn.0042ccf0
add esp, 4
test eax, eax
jne 0x42929b
test esi, esi
je 0x429118
cmp byte [esi + 0x41], al
je 0x4290fb
xor ebx, ebx
test dword [edi + 4], 0x4000
jne 0x4291bf
push dword [edi + 0xc]
push esi
call fcn.00456d20
push dword [edi + 0x10]
push esi
call fcn.00456d20
mov eax, dword [edi + 4]
add esp, 0x10
test eax, 0x10000
je 0x4290dc
push dword [edi + 8]
push esi
call fcn.004514c0
mov eax, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0x14]
test eax, 0x800
je 0x4291b5
push 1
push ecx
push esi
call fcn.00425570
add esp, 0xc
jmp 0x4291bf
cmp byte [esi + 0xfa], 0
je 0x429118
mov eax, 0x2c
cmp ax, word [esi + 0xf8]
jbe 0x429178
inc dword [esi + 0x108]
push 0
push 0x2c
call fcn.00461dd0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x42913a
test esi, esi
je 0x429132
mov byte [esi + 0x41], 1
test ebx, ebx
je 0x4290a1
push 0x2c
push 0
push ebx
call fcn.004c20c0
or eax, 0xffffffff
mov byte [ebx], 0x48
mov word [ebx + 0x1e], ax
add esp, 0xc
mov dword [ebx + 0x10], ebp
mov eax, dword [ebp + 4]
and eax, 0x200100
mov dword [ebx + 0xc], edi
or dword [ebx + 4], eax
mov eax, dword [edi + 4]
mov edi, ebx
and eax, 0x200100
mov dword [esp + 0x20], edi
or dword [ebx + 4], eax
jmp 0x429492
mov ebx, dword [esi + 0x110]
test ebx, ebx
jne 0x42918a
inc dword [esi + 0x10c]
jmp 0x429118
mov eax, dword [ebx]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x42913a
mov dword [esi + 0x100], eax
jmp 0x42913a
push ecx
push esi
call fcn.00457830
add esp, 8
test dword [edi + 4], 0x8000
jne 0x429286
test esi, esi
je 0x429231
cmp dword [esi + 0x208], 0
je 0x4291f8
push edi
push esi
call fcn.00438520
add esp, 8
push ebp
push esi
call fcn.00456d20
mov edi, ebx
add esp, 8
mov dword [esp + 0x20], edi
jmp 0x429492
cmp edi, dword [esi + 0x114]
jb 0x429231
cmp edi, dword [esi + 0x118]
jae 0x429231
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
push ebp
push esi
mov dword [esi + 0x110], edi
call fcn.00456d20
mov edi, ebx
add esp, 8
mov dword [esp + 0x20], edi
jmp 0x429492
cmp dword [section..data], 0
je 0x42927c
mov eax, dword [0x50cf50]
test eax, eax
je 0x42924d
push eax
call dword [0x50a054]
add esp, 4
push edi
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push edi
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x429286
push eax
call dword [0x50a05c]
jmp 0x429283
push edi
call dword [0x50a028]
add esp, 4
push ebp
push esi
call fcn.00456d20
mov edi, ebx
add esp, 8
mov dword [esp + 0x20], edi
jmp 0x429492
test edx, 0x4000
jne 0x4292f3
push dword [edi + 0xc]
push esi
call fcn.00456d20
push dword [edi + 0x10]
push esi
call fcn.00456d20
mov eax, dword [edi + 4]
add esp, 0x10
test eax, 0x10000
je 0x4292d1
push dword [edi + 8]
push esi
call fcn.004514c0
mov eax, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0x14]
test eax, 0x800
je 0x4292e9
push 1
push ecx
push esi
call fcn.00425570
add esp, 0xc
jmp 0x4292f3
push ecx
push esi
call fcn.00457830
add esp, 8
test dword [edi + 4], 0x8000
jne 0x429394
test esi, esi
je 0x42933f
cmp dword [esi + 0x208], 0
je 0x429319
push edi
push esi
call fcn.00438520
add esp, 8
jmp 0x429394
cmp edi, dword [esi + 0x114]
jb 0x42933f
cmp edi, dword [esi + 0x118]
jae 0x42933f
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
jmp 0x429394
cmp dword [section..data], 0
je 0x42938a
mov eax, dword [0x50cf50]
test eax, eax
je 0x42935b
push eax
call dword [0x50a054]
add esp, 4
push edi
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push edi
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x429394
push eax
call dword [0x50a05c]
jmp 0x429391
push edi
call dword [0x50a028]
add esp, 4
push ebp
push esi
call fcn.00456d20
lea eax, [esp + 0x48]
xor ebp, ebp
push eax
push 0x4ef134
mov dword [esp + 0x50], ebp
call fcn.0045c9b0
add esp, 0x10
test eax, eax
mov eax, 2
cmove ebp, eax
xor ecx, ecx
lea ebx, [ebp + 0x2c]
test esi, esi
je 0x4293f6
cmp byte [esi + 0x41], cl
je 0x4293d6
xor edi, edi
mov dword [esp + 0x20], edi
jmp 0x429492
cmp byte [esi + 0xfa], cl
je 0x4293f6
movzx eax, word [esi + 0xf8]
cdq
cmp ecx, edx
jb 0x429440
ja 0x4293f0
cmp ebx, eax
jbe 0x429440
inc dword [esi + 0x108]
push ecx
push ebx
call fcn.00461dd0
mov edi, eax
add esp, 8
mov dword [esp + 0x20], edi
test edi, edi
jne 0x429416
test esi, esi
je 0x429412
mov byte [esi + 0x41], 1
test edi, edi
je 0x429492
push ebx
push 0
push edi
call fcn.004c20c0
or eax, 0xffffffff
mov byte [edi], 0x84
add esp, 0xc
mov word [edi + 0x1e], ax
test ebp, ebp
jne 0x429481
mov eax, dword [esp + 0x40]
or dword [edi + 4], 0x400
mov dword [edi + 8], eax
jmp 0x429492
mov edi, dword [esi + 0x110]
mov dword [esp + 0x20], edi
test edi, edi
jne 0x429456
inc dword [esi + 0x10c]
jmp 0x4293f6
mov eax, dword [edi]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x429416
mov dword [esi + 0x100], eax
jmp 0x429416
lea ecx, [edi + 0x2c]
mov dword [edi + 8], ecx
mov al, byte [0x4ef134]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x7c]
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x30]
jne 0x4295d5
test byte [ebp + 0x12], 2
je 0x4295d5
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esp + 0x80]
and eax, dword [esp + 0x84]
or ecx, eax
jne 0x4295d1
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x4295d1
mov eax, dword [ebx + 0x10]
lea ecx, [ecx + ecx*2]
push dword [ebp]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*8 + 0x15]
call fcn.00428800
movsx eax, al
add esp, 4
sub eax, 0x41
je 0x42951e
sub eax, 1
je 0x42950e
xor eax, eax
cmp bl, 0x43
setge al
jmp 0x429516
xor eax, eax
cmp bl, 0x42
sete al
test eax, eax
je 0x4295d1
mov ecx, dword [ebp + 0xc]
xor esi, esi
cmp ecx, 0x40
jl 0x42952f
mov ebx, SysReAllocString
jmp 0x429544
mov eax, ecx
xor ebx, ebx
bts esi, eax
cmp eax, 0x20
cmovae ebx, esi
xor esi, ebx
cmp eax, 0x40
cmovae ebx, esi
cmp byte [esp + 0x13], 0
jne 0x429571
mov edx, dword [esp + 0x30]
lea ecx, [ecx + ecx*2]
mov eax, dword [edx + 4]
push dword [eax + ecx*8]
push dword [edx]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0041e160
add esp, 0x10
mov byte [esp + 0x13], 1
mov ecx, esi
mov eax, ebx
and ecx, dword [esp + 0x28]
and eax, dword [esp + 0x18]
or ecx, eax
jne 0x4295cd
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
inc ebp
push ebp
push dword [esp + 0x30]
push dword [eax]
call fcn.0048ff20
add esp, 0xc
test eax, eax
jne 0x42a05d
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
or dword [esp + 0x28], esi
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x30]
mov esi, dword [esp + 0x18]
or esi, ebx
mov dword [esp + 0x18], esi
mov dword [eax + edx*4], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
jmp 0x4295d5
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
add ebp, 0x30
mov dword [esp + 0x24], ebp
cmp ebp, dword [esp + 0x3c]
jb 0x428fb1
mov ebx, dword [esp + 0x28]
jmp 0x4295f4
mov ebx, dword [esp + 0x48]
movzx eax, cx
not ebx
mov ecx, dword [esp + 0x2c]
not esi
or esi, 0x80000000
mov word [ecx + 0x28], ax
mov word [ecx + 0x18], ax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x24], 0x4241
mov ecx, dword [edx + 0x40]
and ebx, ecx
mov ebp, dword [edx + 0x44]
and esi, ebp
mov dword [esp + 0x28], ebx
mov edx, 0x3f
movzx ebx, word [eax + 0x22]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x38], ebx
movzx eax, bx
cmp dx, bx
jge 0x42964d
mov dword [esp + 0x40], edx
jmp 0x42965b
movsx edx, bx
mov dword [esp + 0x40], edx
xor edx, edx
cmp dx, ax
jge 0x4296a8
mov edi, dword [esp + 0x40]
xor esi, esi
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
nop dword [eax]
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, ebx
and ecx, ebp
or edx, ecx
je 0x429693
inc dword [esp + 0x14]
inc esi
cmp esi, edi
jl 0x429670
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
test ebp, ebp
jg 0x4296c2
jl 0x4296b2
test ecx, ecx
jae 0x4296c2
mov ecx, dword [esp + 0x14]
movsx eax, bx
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x74]
movzx eax, ax
inc eax
movzx eax, ax
mov esi, dword [esi]
mov dword [esp + 0x48], eax
cwde
lea ecx, [eax*4 + 7]
lea eax, [eax + eax*4]
and ecx, 0xfffffff8
add eax, 9
mov dword [esp + 0x38], ecx
and eax, 0xfffffff8
add ecx, 0x38
add eax, ecx
mov dword [esp + 0x44], eax
cdq
mov ecx, eax
mov ebp, edx
test esi, esi
je 0x429734
cmp byte [esi + 0x41], 0
jne 0x42a05d
cmp byte [esi + 0xfa], 0
je 0x429734
movzx eax, word [esi + 0xf8]
cdq
cmp ebp, edx
jb 0x429850
ja 0x42972e
cmp ecx, eax
jbe 0x429850
inc dword [esi + 0x108]
push ebp
push ecx
call fcn.00461dd0
mov ebx, eax
mov dword [esp + 0x2c], eax
add esp, 8
test ebx, ebx
jne 0x429758
test esi, esi
je 0x429750
mov byte [esi + 0x41], 1
test ebx, ebx
je 0x42a05d
push dword [esp + 0x44]
push 0
push ebx
call fcn.004c20c0
mov edx, dword [esp + 0x54]
lea eax, [ebx + 0x38]
mov ebp, dword [esp + 0x84]
add esp, 0xc
mov dword [ebx + 0x20], eax
xor esi, esi
add eax, dword [esp + 0x38]
xorps xmm0, xmm0
mov dword [ebx + 8], eax
movsx ecx, dx
mov word [ebx + 0x30], dx
mov edx, dword [esp + 0x14]
movlpd qword [esp + 0x48], xmm0
lea eax, [eax + ecx*2]
add eax, 2
mov dword [ebx + 4], eax
lea eax, [eax + ecx*2]
mov dword [ebx + 0x1c], eax
movzx eax, dx
mov word [ebx + 0x2e], ax
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x1c], ebx
mov eax, dword [esp + 0x30]
mov dword [ebx], str.auto_index
mov dword [ebx + 0xc], eax
mov ebp, dword [ebp + 0x14]
cmp ebp, dword [esp + 0x3c]
jae 0x42995f
mov eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x30]
jne 0x42994e
test byte [ebp + 0x12], 2
je 0x42994e
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and ecx, dword [esp + 0x80]
and eax, dword [esp + 0x84]
or ecx, eax
jne 0x42994e
mov ecx, dword [ebp + 0xc]
test ecx, ecx
js 0x42994e
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*2]
push dword [ebp]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*8 + 0x15]
call fcn.00428800
movsx eax, al
add esp, 4
sub eax, 0x41
je 0x4298ab
sub eax, 1
je 0x42989b
xor eax, eax
cmp bl, 0x43
setge al
jmp 0x4298a3
mov ebx, dword [esi + 0x110]
mov dword [esp + 0x24], ebx
test ebx, ebx
jne 0x429869
inc dword [esi + 0x10c]
jmp 0x429734
mov eax, dword [ebx]
mov dword [esi + 0x110], eax
mov eax, dword [esi + 0xfc]
inc eax
mov dword [esi + 0xfc], eax
inc dword [esi + 0x104]
cmp eax, dword [esi + 0x100]
jle 0x429758
mov dword [esi + 0x100], eax
jmp 0x429758
xor eax, eax
cmp bl, 0x42
sete al
test eax, eax
je 0x42994a
mov eax, dword [ebp + 0xc]
xor edx, edx
movzx ecx, ax
mov dword [esp + 0x48], ecx
cmp eax, 0x40
jl 0x4298c3
mov ebx, SysReAllocString
jmp 0x4298d6
xor ebx, ebx
bts edx, eax
cmp eax, 0x20
cmovae ebx, edx
xor edx, ebx
cmp eax, 0x40
cmovae ebx, edx
mov ecx, edx
mov eax, ebx
and ecx, dword [esp + 0x78]
and eax, dword [esp + 0x38]
or ecx, eax
jne 0x42994a
mov ecx, dword [ebp]
mov eax, dword [edi + 4]
or dword [esp + 0x78], edx
mov edx, dword [esp + 0x48]
or dword [esp + 0x38], ebx
mov word [eax + esi*2], dx
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x10]
test dword [eax + 4], 0x100
jne 0x42992b
test ebx, ebx
je 0x429918
test dword [ebx + 4], 0x100
jne 0x429929
push eax
push dword [esp + 0x78]
call fcn.00456a00
add esp, 8
test eax, eax
jne 0x429941
mov eax, ebx
push eax
push dword [esp + 0x78]
call fcn.00456a00
add esp, 8
mov ecx, str.BINARY
test eax, eax
je 0x429943
mov ecx, dword [eax]
mov eax, dword [edi + 0x20]
mov dword [eax + esi*4], ecx
inc esi
mov edx, dword [esp + 0x7c]
add ebp, 0x30
cmp ebp, dword [esp + 0x3c]
jb 0x4297e4
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
xor ebx, ebx
test ebp, ebp
jle 0x4299ae
mov edi, dword [esp + 0x24]
nop dword [eax]
xor edx, edx
xor ecx, ecx
mov eax, ebx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [esp + 0x28]
and ecx, dword [esp + 0x18]
or edx, ecx
je 0x4299a5
mov eax, dword [edi + 4]
mov word [eax + esi*2], bx
mov eax, dword [edi + 0x20]
mov dword [eax + esi*4], str.BINARY
inc esi
inc ebx
cmp ebx, ebp
jl 0x429970
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
cmp dword [eax + 0x44], 0
jg 0x4299f2
jl 0x4299c0
cmp dword [eax + 0x40], 0
jae 0x4299f2
mov ebx, dword [esp + 0x30]
mov eax, 0x3f
mov edx, dword [esp + 0x24]
cmp ax, word [ebx + 0x22]
jge 0x4299f6
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + esi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + esi*4], str.BINARY
inc esi
movsx eax, word [ebx + 0x22]
cmp ecx, eax
jl 0x4299d5
jmp 0x4299f6
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov word [eax + esi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
mov dword [eax + esi*4], str.BINARY
mov eax, dword [ecx + 0x44]
mov dword [edx + 8], eax
inc dword [ecx + 0x44]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x20]
mov ecx, ebp
mov eax, dword [ebx + 0x54]
cmp eax, ebp
jg 0x429aa3
test eax, eax
je 0x429a44
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429a49
mov eax, 0x3fc
push 0
push eax
push dword [edx + 4]
push dword [ebx]
call fcn.00451780
mov esi, eax
add esp, 0x10
test esi, esi
je 0x429ade
mov eax, dword [ebx]
test eax, eax
je 0x429a7e
cmp esi, dword [eax + 0x114]
jb 0x429a7e
cmp esi, dword [eax + 0x118]
jae 0x429a7e
movzx ecx, word [eax + 0xf8]
jmp 0x429a8a
push esi
call dword [0x50a030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebx + 0x54], edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [edx + 4], esi
jmp 0x429aa6
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edx + 0x20], eax
lea eax, [ebp*4]
add eax, ebp
lea ecx, [esi + eax*4]
mov eax, dword [esp + 0x7c]
mov word [ecx], 0x38
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
inc eax
mov byte [ecx + 3], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esp + 0x74]
push dword [esp + 0x24]
push eax
mov ebx, dword [eax + 8]
call fcn.004607e0
mov ebp, dword [ebx + 4]
add esp, 8
mov edx, dword [ebx]
mov esi, eax
test ebp, ebp
je 0x429b40
cmp byte [edx + 0x41], 0
jne 0x429b40
mov ecx, dword [ebx + 0x20]
dec ecx
lea eax, [ecx + ecx*4]
lea ebx, [eax*4]
movsx eax, byte [ebx + ebp + 1]
add ebx, ebp
push dword [ebx + 0x10]
push eax
push edx
call fcn.00433490
add esp, 0xc
test esi, esi
jne 0x429b32
mov dword [ebx + 0x10], esi
mov byte [ebx + 1], 0
jmp 0x429ba7
mov dword [ebx + 0x10], esi
mov byte [ebx + 1], 0xfa
jmp 0x429ba7
test esi, esi
je 0x429ba7
cmp dword [edx + 0x208], 0
jne 0x429ba7
add dword [esi], 0xffffffff
jne 0x429ba7
cmp dword [section..data], 0
je 0x429b9d
mov eax, dword [0x50cf50]
test eax, eax
je 0x429b6e
push eax
call dword [0x50a054]
add esp, 4
push esi
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push esi
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x429ba7
push eax
call dword [0x50a05c]
jmp 0x429ba4
push esi
call dword [0x50a028]
add esp, 4
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
inc dword [eax + 0x64]
mov ebp, dword [edx + 0x18]
mov eax, dword [esi + 4]
mov ebx, dword [edx + 0x20]
mov ecx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x7c], ebx
cmp eax, ebx
jg 0x429c4e
test eax, eax
je 0x429bdf
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429be4
mov eax, 0x3fc
push 0
push eax
push dword [edx + 4]
push dword [ebp]
call fcn.00451780
mov esi, eax
add esp, 0x10
test esi, esi
je 0x429c40
mov eax, dword [ebp]
test eax, eax
je 0x429c1b
cmp esi, dword [eax + 0x114]
jb 0x429c1b
cmp esi, dword [eax + 0x118]
jae 0x429c1b
movzx ecx, word [eax + 0xf8]
jmp 0x429c27
push esi
call dword [0x50a030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [ebp + 0x54], edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x20]
mov dword [edx + 4], esi
jmp 0x429c51
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x7c], 1
jmp 0x429c85
mov esi, dword [edx + 4]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x20], eax
lea eax, [ebx + ebx*4]
mov word [esi + eax*4], 0x6c
mov byte [esi + eax*4 + 3], 0
mov dword [esi + eax*4 + 4], ecx
mov dword [esi + eax*4 + 8], 0
mov dword [esi + eax*4 + 0xc], 0
mov dword [esi + eax*4 + 0x10], 0
test edi, edi
je 0x429da3
mov ebp, dword [edx + 0x18]
mov ecx, dword [ebp + 0x6c]
mov ebx, dword [ebp + 0x70]
mov dword [esp + 0x34], ecx
lea eax, [ecx + 1]
mov dword [ebp + 0x6c], eax
lea eax, [ecx - 1]
test ecx, eax
jne 0x429d74
mov esi, dword [ebp]
lea eax, [ecx*8 + 4]
push 0
push eax
push ebx
push esi
call fcn.00451780
add esp, 0x10
mov dword [esp + 0x78], eax
test eax, eax
jne 0x429d69
test ebx, ebx
je 0x429d69
test esi, esi
je 0x429d14
cmp dword [esi + 0x208], eax
je 0x429cee
push ebx
push esi
call fcn.00438520
add esp, 8
jmp 0x429d69
cmp ebx, dword [esi + 0x114]
jb 0x429d14
cmp ebx, dword [esi + 0x118]
jae 0x429d14
mov eax, dword [esi + 0x110]
mov dword [ebx], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], ebx
jmp 0x429d69
cmp dword [section..data], 0
je 0x429d5f
mov eax, dword [0x50cf50]
test eax, eax
je 0x429d30
push eax
call dword [0x50a054]
add esp, 4
push ebx
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push ebx
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x429d69
push eax
call dword [0x50a05c]
jmp 0x429d66
push ebx
call dword [0x50a028]
add esp, 4
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0x70], ebx
test ebx, ebx
je 0x429d7f
mov dword [ebx + ecx*4], 0xffffffff
not ecx
push 0x10
push ecx
push edi
push dword [esp + 0x80]
mov dword [esp + 0x44], ecx
call fcn.00456e40
mov eax, dword [esp + 0x3c]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, dword [esp + 0x74]
mov al, byte [ecx + 0x13]
test al, al
jne 0x429db6
inc dword [ecx + 0x48]
mov ebx, dword [ecx + 0x48]
jmp 0x429dc2
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov ebx, dword [ecx + eax*4 + 0x18]
mov ebp, dword [esp + 0x88]
push 0
push 0
push 0
push 0
push ebx
push dword [ebp + 4]
push dword [esp + 0x3c]
push ecx
call fcn.0045bef0
mov esi, dword [esp + 0x3c]
add esp, 0x20
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
mov ebp, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x78], ecx
mov eax, dword [ebp + 0x54]
cmp eax, ecx
jg 0x429e75
test eax, eax
je 0x429e0c
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429e11
mov eax, 0x3fc
push 0
push eax
push dword [esi + 4]
push dword [ebp]
call fcn.00451780
mov esi, eax
add esp, 0x10
test esi, esi
je 0x429eac
mov eax, dword [ebp]
test eax, eax
je 0x429e4c
cmp esi, dword [eax + 0x114]
jb 0x429e4c
cmp esi, dword [eax + 0x118]
jae 0x429e4c
movzx ecx, word [eax + 0xf8]
jmp 0x429e58
push esi
call dword [0x50a030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x78]
shr edx, 4
mov dword [ebp + 0x54], edx
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 4], esi
jmp 0x429e7a
mov ebp, esi
mov esi, dword [ebp + 4]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x48]
mov word [esi + eax*4], 0x6e
mov byte [esi + eax*4 + 3], 0
mov dword [esi + eax*4 + 4], ecx
mov dword [esi + eax*4 + 8], ebx
mov dword [esi + eax*4 + 0xc], 0
mov dword [esi + eax*4 + 0x10], 0
jmp 0x429eb0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x429ec2
mov eax, dword [ebp + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x10
test edi, edi
je 0x429ee7
mov esi, dword [esp + 0x34]
mov edx, dword [ebp + 0x18]
not esi
test esi, esi
js 0x429ee0
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x429ee0
mov eax, dword [ebp + 0x20]
mov dword [ecx + esi*4], eax
mov eax, dword [ebp + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov ecx, dword [ebp + 0x20]
mov edx, ecx
mov esi, dword [esp + 0x88]
mov ebp, dword [ebp + 0x18]
mov dword [esp + 0x88], ecx
mov eax, dword [esi + 4]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x54]
cmp eax, ecx
jg 0x429f87
test eax, eax
je 0x429f17
lea eax, [eax + eax*4]
shl eax, 3
jmp 0x429f1c
mov eax, 0x3fc
mov esi, dword [esp + 0x1c]
push 0
push eax
push dword [esi + 4]
push dword [ebp]
call fcn.00451780
mov esi, eax
add esp, 0x10
test esi, esi
je 0x429fc7
mov eax, dword [ebp]
test eax, eax
je 0x429f5b
cmp esi, dword [eax + 0x114]
jb 0x429f5b
cmp esi, dword [eax + 0x118]
jae 0x429f5b
movzx ecx, word [eax + 0xf8]
jmp 0x429f67
push esi
call dword [0x50a030]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x88]
shr edx, 4
mov dword [ebp + 0x54], edx
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 4], esi
jmp 0x429f8b
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x7c]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp + 4]
mov word [eax + ecx*4], 9
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [esi + 1]
mov dword [ecx + 8], eax
jmp 0x429fcf
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ebp + 4]
test ecx, ecx
je 0x429fe1
mov eax, dword [ebp + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 3
mov edx, dword [ebp + 0x20]
cmp edx, esi
jbe 0x429ff5
mov eax, dword [ebp + 4]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
lea ecx, [edx - 1]
mov esi, dword [esp + 0x74]
mov dword [eax + 0x58], ecx
test ebx, ebx
je 0x42a031
mov dl, byte [esi + 0x13]
cmp dl, 8
jae 0x42a031
xor ecx, ecx
lea eax, [esi + 0x74]
cmp dword [eax + 0xc], ebx
je 0x42a02d
inc ecx
add eax, 0x14
cmp ecx, 0xa
jl 0x42a013
movzx eax, dl
mov dword [esi + eax*4 + 0x18], ebx
inc byte [esi + 0x13]
jmp 0x42a031
mov byte [eax + 6], 1
push esi
call fcn.004546c0
mov edx, dword [ebp + 0x20]
add esp, 4
mov eax, dword [esp + 0x50]
cmp edx, eax
jbe 0x42a052
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
lea ecx, [edx - 1]
mov dword [eax + 0x58], ecx
jmp 0x42a061
mov esi, dword [esp + 0x74]
mov esi, dword [esi]
test edi, edi
je 0x42a17a
test dword [edi + 4], 0x4000
jne 0x42a0c4
push dword [edi + 0xc]
push esi
call fcn.00456d20
push dword [edi + 0x10]
push esi
call fcn.00456d20
mov eax, dword [edi + 4]
add esp, 0x10
test eax, 0x10000
je 0x42a0a2
push dword [edi + 8]
push esi
call fcn.004514c0
mov eax, dword [edi + 4]
add esp, 8
mov ecx, dword [edi + 0x14]
test eax, 0x800
je 0x42a0ba
push 1
push ecx
push esi
call fcn.00425570
add esp, 0xc
jmp 0x42a0c4
push ecx
push esi
call fcn.00457830
add esp, 8
test dword [edi + 4], 0x8000
jne 0x42a17a
test esi, esi
je 0x42a11c
cmp dword [esi + 0x208], 0
je 0x42a0f0
push edi
push esi
call fcn.00438520
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp edi, dword [esi + 0x114]
jb 0x42a11c
cmp edi, dword [esi + 0x118]
jae 0x42a11c
mov eax, dword [esi + 0x110]
mov dword [edi], eax
dec dword [esi + 0xfc]
mov dword [esi + 0x110], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
cmp dword [section..data], 0
je 0x42a170
mov eax, dword [0x50cf50]
test eax, eax
je 0x42a138
push eax
call dword [0x50a054]
add esp, 4
push edi
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push edi
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x42a17a
push eax
call dword [0x50a05c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
push edi
call dword [0x50a028]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret