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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x3b4
mov eax, dword [0x67f864]
xor eax, esp
mov dword [esp + 0x3b0], eax
mov eax, dword [ebp + 8]
and eax, 0x3fffffff
mov ecx, eax
and cl, 1
sub cl, 1
push ebx
push esi
push edi
xor edi, edi
neg cl
mov edx, eax
mov dword [ebp + 8], eax
mov dword [esp + 0x18], 1
mov word [esp + 0x100], di
mov dword [esp + 0x1ac], edi
mov dword [esp + 0x1b0], 0xffffffff
sbb ecx, ecx
add ecx, 1
and dl, 2
mov esi, ecx
xor ecx, ecx
cmp dl, 2
sete cl
xor edx, edx
and al, 4
cmp al, 4
mov eax, dword [0x690c9c]
sete dl
mov dword [esp + 0x20], esi
cmp ecx, edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0x2a0]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x2a4]
mov dword [esp + 0x30], edx
mov edx, dword [eax + 0x2a8]
mov dword [esp + 0x34], edx
jne 0x4264e8
cmp esi, edi
je 0x42651d
mov edx, dword [eax + 0x324]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0x328]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0x32c]
mov dword [esp + 0x40], edx
cmp esi, edi
je 0x426574
cmp ecx, edi
je 0x426507
mov eax, dword [eax + 0x118]
lea ecx, [esp + 0x24]
push ecx
push 3
push eax
jmp 0x42658f
push 0xb
lea ebx, [esp + 0x104]
call fcn.00459860
mov eax, dword [0x690c9c]
add esp, 4
xor esi, esi
cmp dword [esp + 0x20], esi
mov edi, 0x100
mov dword [esp + 0xc], esi
mov dword [esp + 0xbc], esi
mov word [esp + 0xf8], si
mov dword [esp + 0x10], edi
je 0x42676c
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 1
call fcn.00492b10
add esp, 0x20
cmp eax, esi
je 0x426568
mov eax, dword [eax + 0x120]
cmp eax, esi
je 0x42674d
mov dword [esp + 0xb8], esi
jmp 0x426758
cmp ecx, edi
je 0x42651d
mov ecx, dword [eax + 0x118]
cmp dword [ecx + 0x128], 3
jne 0x4265af
lea edx, [esp + 0x24]
push edx
push 3
push ecx
call fcn.0045b140
mov edx, eax
add esp, 0xc
mov ecx, 0x51
lea eax, [esp + 0x100]
call fcn.004c72a0
mov eax, dword [0x690c9c]
mov esi, dword [eax + 0x118]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x4d
mov dword [esp + 0xc], esi
mov eax, ecx
jge 0x4266be
cmp ecx, 0x39
jle 0x4265df
lea esp, [esp]
lea eax, [eax + eax*2]
mov eax, dword [eax*8 + 0x62e39c]
cmp eax, 0x39
jg 0x4265d0
xor edx, edx
cmp eax, 0x39
sete dl
mov eax, edx
cmp eax, edi
je 0x4266be
push 1
mov edx, 0x89
call fcn.004a9f10
add esp, 4
cmp dword [esp + 0x1c], 0
mov eax, dword [0x690c9c]
jne 0x426619
test dword [ebp + 8], 8
jne 0x4266a9
mov edi, dword [eax + 0x110]
test edi, edi
je 0x4266a9
mov eax, dword [0x690c9c]
mov ebx, 0xfffffff7
mov esi, edi
mov ecx, dword [esi + 0xb8]
mov edi, dword [edi + 0x84]
and ecx, 8
cmp cl, 8
jne 0x4266a5
add dword [eax + 0x270], 0xffffffff
and dword [esi + 0xb8], ebx
cmp dword [esp + 0x14], 0
jne 0x4266a5
mov eax, esi
call fcn.0049b260
cmp dword [esi + 0x88], 0xffffffff
je 0x426693
mov edx, dword [0x690c9c]
mov eax, dword [edx + 0x118]
xor ecx, ecx
cmp eax, esi
je 0x42668c
lea ecx, [ecx]
mov ecx, eax
mov eax, dword [eax + 0x88]
cmp eax, esi
jne 0x426680
mov eax, esi
call fcn.0049a890
push 1
push 1
push esi
call fcn.0043f210
mov eax, dword [0x690c9c]
add esp, 0xc
test edi, edi
jne 0x426631
mov ecx, dword [esp + 0x3bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005ce60a
mov esp, ebp
pop ebp
ret
cmp ecx, 0x4d
mov eax, ecx
jge 0x4266f9
cmp ecx, 0x3c
jle 0x4266df
lea ebx, [ebx]
lea eax, [eax + eax*2]
mov eax, dword [eax*8 + 0x62e39c]
cmp eax, 0x3c
jg 0x4266d0
xor ecx, ecx
cmp eax, 0x3c
sete cl
mov eax, ecx
cmp eax, edi
je 0x4266f9
push 1
mov edx, 0x1ab
jmp 0x4265f8
mov edx, dword [esi + 0x150]
mov dword [esp + 0xb8], edx
mov eax, dword [esi + 0x154]
cmp eax, 0x100
mov dword [esp + 0xbc], eax
mov ecx, dword [esi + 0x158]
mov dword [esp + 0xc0], ecx
mov edi, 0x100
jl 0x42672f
lea edi, [eax + 0x14]
cmp dword [esp + 0x20], 0
mov edx, dword [esi + 0x10]
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], edx
je 0x426786
mov eax, dword [esi + 0x168]
mov dword [esp + 0x18], eax
jmp 0x426786
mov dword [esp + 0xb8], 2
mov edx, dword [0x690c9c]
xor ecx, ecx
cmp dword [edx + 0x1c], esi
sete cl
mov dword [esp + 0x18], ecx
jmp 0x426786
mov dword [esp + 0xb8], 4
cmp dword [eax + 0x20], esi
je 0x426786
mov word [esp + 0xf8], 2
push 0xa
lea ebx, [edi + edi]
call fcn.0043ace0
add esp, 4
test eax, eax
mov dword [esp + 0xc0], eax
je 0x426600
cmp dword [esp + 0x1c], 0
je 0x4267dd
mov ecx, dword [esp + 0xbc]
lea edx, [ecx + ecx]
mov ecx, dword [esi + 0x158]
push edx
push ecx
push eax
call fcn.005dffd0
add esp, 0xc
mov eax, dword [ebp + 8]
and eax, 0xb
mov ebx, 0x28
jne 0x426b13
lea edi, [ebx - 1]
jmp 0x426b4c
mov edx, dword [ebp + 8]
and edx, 8
cmp dl, 8
jne 0x4267c4
fld1
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0xc0]
push 0x40
push edi
mov dword [esp + 0x6c], 0
call fcn.00480410
add esp, 0x10
test eax, eax
mov dword [esp + 0x14], eax
je 0x4269ea
mov ecx, 0xc
lea esi, [esp + 0x88]
call fcn.00465c50
mov eax, dword [0x690c9c]
mov esi, dword [eax + 0x2a4]
mov edi, dword [eax + 0x2a0]
mov eax, dword [eax + 0x2a8]
push 0
lea ebx, [esp + 0x1bc]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], eax
call fcn.00459860
mov ecx, dword [esp + 0x14]
add esp, 4
push ecx
mov edx, ebx
push edx
lea eax, [esp + 0xc0]
push eax
push 0
lea ecx, [esp + 0x1c0]
call fcn.00480640
mov ecx, dword [esp + 0x5c]
mov ebx, eax
mov eax, dword [0x690c9c]
mov dword [eax + 0x2a0], edi
mov dword [eax + 0x2a4], esi
add esp, 0x10
test ebx, ebx
mov dword [eax + 0x2a8], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x80], 0
je 0x4268d0
push 0xffffffffffffffff
lea edx, [esp + 0x84]
push edx
push 0x43ee60
push fcn.00425ef0
push 1
push 0
push 1
call fcn.0043ea20
add esp, 0x1c
mov dword [esp + 0xc], eax
jmp 0x4268e2
lea eax, [esp + 0x88]
push eax
push 0
call fcn.00463820
add esp, 8
mov esi, dword [esp + 0xc]
test esi, esi
jne 0x4268f3
mov dword [esp + 0x14], esi
jmp 0x4269ea
test ebx, ebx
je 0x4269ea
lea ecx, [esp + 0x10]
push ecx
push 6
push esi
call fcn.0045b140
add esp, 0xc
lea ecx, [esp + 0x1b8]
mov edx, eax
call fcn.004c7180
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jne 0x426935
mov eax, ecx
mov ecx, edx
lea edx, [esp + 0x1b8]
call fcn.004c7560
test eax, eax
je 0x426966
lea edx, [esp + 0x1b8]
push 1
push edx
call fcn.0045b2c0
mov eax, dword [0x690c9c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [eax + 0x2a0], edi
mov dword [eax + 0x2a4], ecx
add esp, 8
mov dword [eax + 0x2a8], edx
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4269ea
lea edx, [esp + 0xb8]
push edx
call fcn.0041b1e0
mov eax, dword [esp + 0xc0]
add eax, eax
add esp, 4
push eax
mov eax, dword [esp + 0xc4]
push eax
call fcn.005cf5a2
add esp, 8
test eax, eax
je 0x4269a7
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x68]
push edx
push eax
lea ecx, [esp + 0xc4]
push ecx
lea edx, [esp + 0x90]
xor ecx, ecx
call fcn.0041bad0
add esp, 0x10
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x14], eax
je 0x4269ea
cmp dword [esp + 0x1c], 0
jne 0x4269ea
lea esi, [esp + 0x64]
call fcn.0041ad50
lea edi, [esp + 0x5c]
call fcn.004cce70
cmp dword [esp + 0x14], 0
je 0x426aa7
mov edi, dword [esp + 0x28]
test edi, edi
je 0x426c52
mov edx, dword [0x690c9c]
mov esi, dword [edx + 0x104]
push 0x8e
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0xc4]
push edx
call fcn.00425860
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
add esp, 0x10
cmp eax, 4
jge 0x426c48
mov eax, dword [eax*4 + 0x62f270]
cmp eax, 1
jne 0x426a66
test edx, edx
jne 0x426a61
test ecx, ecx
je 0x426a66
mov eax, 2
push 0
push 0
push 0
push 0
push 1
push ecx
push edx
push eax
call fcn.00492b10
add esp, 0x20
test eax, eax
mov dword [esp + 0x1a8], eax
jne 0x426c52
mov eax, dword [0x690c9c]
mov ebx, 1
mov dword [eax + 0x104], esi
call fcn.0049c130
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0xc0]
push eax
call fcn.005ce619
mov eax, dword [0x690c9c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x2a0], ecx
mov ecx, dword [esp + 0x38]
add esp, 4
cmp dword [esp + 0x1c], 0
mov dword [eax + 0x2a4], edx
mov dword [eax + 0x2a8], ecx
jne 0x426619
cmp dword [esp + 0x20], 0
je 0x42660c
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x324], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 0x328], ecx
mov dword [eax + 0x32c], edx
jmp 0x42660c
cmp eax, 2
jne 0x426b20
lea ebx, [eax + 0x28]
lea edi, [eax + 0x26]
jmp 0x426b4c
cmp eax, 1
jne 0x426b2e
mov ebx, 0x29
mov edi, ebx
jmp 0x426b4c
cmp eax, 3
jne 0x426b3b
lea ebx, [eax + 0x28]
lea edi, [eax + 0x27]
jmp 0x426b4c
cmp eax, 0xa
jne 0x426b48
lea ebx, [eax + 0x22]
lea edi, [eax + 0x21]
jmp 0x426b4c
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x60]
push eax
push ecx
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0x68]
push eax
call fcn.00425c50
lea ecx, [esp + 0x60]
push ecx
push 0
mov edx, 0x425aa0
mov ecx, 0x4259e0
mov eax, 0x425a80
call fcn.004117a0
call fcn.004119e0
mov edx, dword [esp + 0x30]
push edx
lea eax, [esp + 0x78]
push eax
lea edx, [esp + 0x120]
lea esi, [esp + 0xd8]
mov dword [0x690d2c], 1
call fcn.00416860
push ebx
push edi
call fcn.004efa70
mov esi, eax
mov ecx, esi
neg ecx
sbb ecx, ecx
lea edx, [esp + 0x40]
and ecx, edx
neg eax
push ecx
sbb eax, eax
lea ecx, [esp + 0xe4]
and eax, ecx
mov dword [esp + 0x40], esi
call fcn.00416aa0
add esp, 0x2c
call fcn.00411b70
cmp dword [0x695314], 0
je 0x426c31
cmp dword [0x6930b8], 0
mov dword [0x695314], 0
mov dword [0x695320], 1
je 0x426c13
mov ecx, 0x6930a0
call fcn.00454610
lea edi, [esp + 0x10]
call fcn.004ae850
test eax, eax
je 0x426c31
mov ecx, dword [esp + 0x10]
xor eax, eax
test ecx, ecx
je 0x426c2c
mov eax, ecx
call fcn.004eff70
mov eax, 0x1a
lea ebx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.00493350
jmp 0x42696a
mov eax, 1
jmp 0x426a59
cmp dword [esp + 0x1c], 0
je 0x426c86
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
push ecx
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xc0]
push eax
push ecx
mov eax, esi
call fcn.00425410
add esp, 0x10
jmp 0x426d7b
mov edx, dword [ebp + 8]
and edx, 8
cmp dl, 8
jne 0x426cc1
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xc]
mov dword [eax + 0x150], ecx
mov edx, dword [esp + 0xbc]
mov dword [eax + 0x154], edx
mov ecx, dword [esp + 0xc0]
mov dword [eax + 0x158], ecx
jmp 0x426d77
mov ebx, dword [esp + 0x20]
mov ecx, ebx
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, 0xc
lea esi, [esp + 0x88]
call fcn.00465c50
cmp dword [esp + 0x7c], 0
mov edx, dword [0x690c9c]
je 0x426cf2
mov eax, dword [edx + 0xfc]
jmp 0x426d03
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x78]
call fcn.00465c20
add esp, 4
cmp dword [esp + 0x18], 0
mov dword [esp + 0xac], eax
mov ecx, dword [edx + 0x270]
mov dword [esp + 0x1ac], ecx
jne 0x426d27
or word [esp + 0xf8], 1
test ebx, ebx
je 0x426d36
test edi, edi
je 0x426d36
mov eax, 1
jmp 0x426d38
xor eax, eax
push 0xffffffffffffffff
lea edx, [esp + 0x84]
push edx
push 0x43ee60
push fcn.00425ef0
lea eax, [eax + ecx + 1]
push eax
push 0
push 0
call fcn.0043ea20
add esp, 0x1c
mov edi, eax
call fcn.0049a700
test edi, edi
je 0x426d77
call fcn.0049a7f0
cmp dword [edi + 0xc], 0xb
jne 0x426d77
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x20], 0
jne 0x426600
test esi, esi
je 0x426600
mov edx, esi
call fcn.0047fad0
test eax, eax
je 0x426600
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1b0]
xor ecx, ecx
cmp edx, dword [esi + 0x10]
setne cl
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
sete bl
push ecx
mov ecx, esi
call fcn.00480200
jmp 0x4265fd