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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov esi, esp
mov dword [esi + 0x60], ecx
mov eax, dword [0x4aa2c0]
xor eax, ebp
mov dword [esi + 0x80], eax
mov eax, dword [ebp + 0x14]
add eax, 0x14
mov dword [esi + 0x44], eax
mov eax, 0x39e6d470
jmp 0x421e40
mov eax, dword [0x4abf80]
mov edi, 0x2c9ed076
mov ebx, 0x5308df4b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5308df4b
sete cl
cmove eax, edi
cmp dword [0x4abf7c], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
nop word [eax + eax]
cmp eax, 0xf4c1eeaf
jg 0x421e90
cmp eax, 0xcdb28365
jg 0x421ef0
cmp eax, 0xad09d1db
jle 0x421fb1
cmp eax, 0xc112bffb
jle 0x4220b9
cmp eax, 0xc7b24b76
jg 0x42242a
cmp eax, 0xc112bffc
je 0x4224e3
cmp eax, 0xc79bd2c0
jne 0x421e40
mov eax, 0xec282422
jmp 0x421e40
cmp eax, 0x2c9ed075
jle 0x421f70
cmp eax, 0x50b12555
jle 0x421ff0
cmp eax, 0x59779ba5
jle 0x4220f4
cmp eax, 0x76d93937
jg 0x422456
cmp eax, 0x59779ba6
je 0x42250a
cmp eax, 0x6cb9cf1e
jne 0x421e40
movzx eax, byte [ebp + 0x1c]
mov byte [esi + 0x24], al
mov eax, 0xcfb0fed9
jmp 0x421e40
cmp eax, 0xd7cb9e76
jle 0x42204a
cmp eax, 0xe5dc3696
jle 0x42211f
cmp eax, 0xec12063b
jg 0x422476
cmp eax, 0xe5dc3697
je 0x42252a
cmp eax, 0xe62793e9
jne 0x421e40
mov edx, dword [0x4abf80]
mov ecx, dword [0x4abf7c]
mov edi, 0x5308df4b
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xa8f70307
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x421e40
cmp eax, 0x18b6b83e
jg 0x422083
cmp eax, 0x101ba09d
jg 0x42218f
cmp eax, 0x3832ad1
jg 0x4224b2
cmp eax, 0xf4c1eeb0
je 0x4225da
cmp eax, 0xfb554763
jne 0x421e40
mov eax, 0x35ebdfee
jmp 0x421e40
cmp eax, 0xa3a8ae22
jg 0x4221e4
cmp eax, 0x825ddc1b
je 0x42268a
cmp eax, 0x89b4cedc
je 0x4226b0
cmp eax, 0xa25d46ef
jne 0x421e40
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov eax, 0x386e21f6
jmp 0x421e40
cmp eax, 0x362f999b
jg 0x4222ba
cmp eax, 0x2c9ed076
je 0x4226bb
cmp eax, 0x31f8413e
je 0x4226d1
cmp eax, 0x35ebdfee
jne 0x421e40
mov eax, dword [esi + 0x1c]
mov eax, 0x2243905d
nop word cs:[eax + eax]
cmp eax, 0x2243905d
je 0x422043
cmp eax, 0xa7ad0f34
jne 0x422030
jmp 0x4226e1
mov eax, 0xa7ad0f34
jmp 0x422030
cmp eax, 0xcfb0fed8
jg 0x422312
cmp eax, 0xcdb28366
je 0x422700
cmp eax, 0xcdd5ddc6
je 0x42270a
cmp eax, 0xceb77496
jne 0x421e40
mov eax, dword [esi + 0x28]
mov eax, 0x35ebdfee
jmp 0x421e40
cmp eax, 0x1c249ae1
jg 0x422360
cmp eax, 0x18b6b83f
je 0x4227ca
cmp eax, 0x1aa02281
je 0x42280c
cmp eax, 0x1be0b238
jne 0x421e40
mov eax, 0xd7cb9e77
jmp 0x421e40
cmp eax, 0xad09d1dc
je 0x42282e
cmp eax, 0xb28d29fa
je 0x422855
cmp eax, 0xbb7b9c74
jne 0x421e40
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
cmp eax, 1
mov eax, 0x89b4cedc
sbb ecx, 0
setl byte [esi + 0x26]
jmp 0x421e40
cmp eax, 0x50b12556
je 0x42289a
cmp eax, 0x5308df4b
je 0x4228a4
cmp eax, 0x56bd285b
jne 0x421e40
mov eax, 0x18b6b83f
jmp 0x421e40
cmp eax, 0xd7cb9e77
je 0x4228ae
cmp eax, 0xdad6256c
je 0x4228bb
cmp eax, 0xe1f1ba3c
jne 0x421e40
lea ecx, [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x34]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x68]
sub esp, 0x18
vmovsd xmm0, qword [esi + 0x78]
movsx edi, byte [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ebx
mov dword [esp], edi
call eax
mov eax, 0x825ddc1b
jmp 0x421e40
cmp eax, 0x101ba09e
je 0x422901
cmp eax, 0x1128bc7d
je 0x42292a
cmp eax, 0x13224c72
jne 0x421e40
mov edx, dword [0x4abf80]
mov ecx, dword [0x4abf7c]
mov edi, 0x3832ad2
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x1c249ae2
jmp 0x422884
cmp eax, 0xa3a8ae23
je 0x4229ea
cmp eax, 0xa8f70307
je 0x421e01
cmp eax, 0xac4a6e80
jne 0x421e40
mov eax, dword [esi + 0x14]
mov edx, 0x3f7fd7c9
mov dword [esi + 0x10], eax
mov eax, dword [0x4abf98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4abf94], 0xa
setl cl
or cl, al
mov eax, 0xc7f8c333
mov ecx, 0x5887019e
cmovne eax, ecx
mov ecx, 0xc7f8c333
cmovne ecx, edx
mov edx, 0xbe971c08
nop dword [eax + eax]
cmp edx, 0x25255c02
jle 0x422280
cmp edx, 0x25255c03
je 0x42229a
cmp edx, 0x3f7fd7c9
je 0x42229e
cmp edx, 0x5887019e
jne 0x422250
jmp 0x422a52
cmp edx, 0xbe971c08
je 0x4222aa
cmp edx, 0xc7f8c333
jne 0x422250
mov edx, dword [esi + 4]
mov edx, 0x3f7fd7c9
jmp 0x422250
mov edx, ecx
jmp 0x422250
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x422250
mov edx, dword [esi + 0x10]
add edx, 0x10
mov dword [esi + 4], edx
mov edx, 0x25255c03
jmp 0x422250
cmp eax, 0x362f999c
je 0x422a62
cmp eax, 0x386e21f6
je 0x422a78
cmp eax, 0x39e6d470
jne 0x421e40
push eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x14], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x38], eax
mov eax, 0xad09d1dc
jmp 0x421e40
cmp eax, 0xcfb0fed9
je 0x422a82
cmp eax, 0xd0d1a27c
je 0x422a9d
cmp eax, 0xd6e4485c
jne 0x421e40
mov ecx, dword [esi + 0x2c]
call fcn.0041b750
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
call fcn.00401000
movzx eax, byte [ebp + 0x1c]
mov byte [esi + 0x25], al
mov eax, 0xcba386e2
jmp 0x421e40
cmp eax, 0x1c249ae2
je 0x422ac3
cmp eax, 0x247a0b87
je 0x422acd
cmp eax, 0x2767046a
jne 0x421e40
mov eax, dword [esi + 0x44]
mov edx, 0x5e4012e3
mov dword [esi + 4], eax
mov eax, dword [0x4ac3b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4ac3b4], 0xa
setl cl
or cl, al
mov eax, 0xd6069f41
mov ecx, 0x3091b9b2
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop word [eax + eax]
cmp edx, 0x9d5186b
jle 0x422400
cmp edx, 0x9d5186c
je 0x42241f
cmp edx, 0x3091b9b2
je 0x422b9a
cmp edx, 0x5e4012e3
jne 0x4223d0
mov edx, eax
jmp 0x4223d0
cmp edx, 0xd6069f41
je 0x422423
cmp edx, 0x70e7b03
jne 0x4223d0
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, 0x9d5186c
jmp 0x4223d0
mov edx, ecx
jmp 0x4223d0
mov edx, 0x5e4012e3
jmp 0x4223d0
cmp eax, 0xc7b24b77
je 0x422ba7
cmp eax, 0xcba386e2
jne 0x421e40
cmp byte [esi + 0x25], 0
mov eax, 0x101ba09e
mov ecx, 0xdad6256c
cmovne eax, ecx
jmp 0x421e40
cmp eax, 0x76d93938
je 0x422cbe
cmp eax, 0x774fe1e4
jne 0x421e40
mov eax, 0xb28d29fa
jmp 0x421e40
cmp eax, 0xec12063c
je 0x422dc9
cmp eax, 0xec282422
jne 0x421e40
mov eax, dword [0x4abf80]
mov edi, 0x56bd285b
mov ebx, 0xc79bd2c0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc79bd2c0
jmp 0x421e22
cmp eax, 0xbbe2a20
jne 0x42333f
mov eax, dword [0x4abf80]
mov ebx, 0xcdd5ddc6
mov edi, 0xac4a6e80
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xac4a6e80
jmp 0x4232e5
mov eax, 0x2243905d
nop dword [eax + eax]
cmp eax, 0x2243905d
je 0x422503
cmp eax, 0xa7ad0f34
jne 0x4224f0
jmp 0x422edc
mov eax, 0xa7ad0f34
jmp 0x4224f0
mov eax, 0x2243905d
nop
cmp eax, 0x2243905d
je 0x422523
cmp eax, 0xa7ad0f34
jne 0x422510
jmp 0x422ef5
mov eax, 0xa7ad0f34
jmp 0x422510
mov eax, dword [esi + 0x14]
mov edx, 0x3f7fd7c9
mov dword [esi + 0x10], eax
mov eax, dword [0x4abf98]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4abf94], 0xa
setl cl
or cl, al
mov eax, 0xc7f8c333
mov ecx, 0x5887019e
cmovne eax, ecx
mov ecx, 0xc7f8c333
cmovne ecx, edx
mov edx, 0xbe971c08
cmp edx, 0x25255c02
jle 0x4225a0
cmp edx, 0x25255c03
je 0x4225ba
cmp edx, 0x3f7fd7c9
je 0x4225be
cmp edx, 0x5887019e
jne 0x422570
jmp 0x422f0e
cmp edx, 0xbe971c08
je 0x4225ca
cmp edx, 0xc7f8c333
jne 0x422570
mov edx, dword [esi + 4]
mov edx, 0x3f7fd7c9
jmp 0x422570
mov edx, ecx
jmp 0x422570
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x422570
mov edx, dword [esi + 0x10]
add edx, 0x10
mov dword [esi + 4], edx
mov edx, 0x25255c03
jmp 0x422570
mov eax, dword [esi + 0x74]
mov ecx, dword [0x4ac3b8]
add eax, 0x14
mov dword [esi + 4], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4ac3b4], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xd6069f41
not dl
or dl, ch
mov ecx, 0x3091b9b2
test dl, 1
mov edx, 0x5e4012e3
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop dword [eax + eax]
cmp edx, 0x9d5186b
jle 0x422660
cmp edx, 0x9d5186c
je 0x42267f
cmp edx, 0x3091b9b2
je 0x422f25
cmp edx, 0x5e4012e3
jne 0x422630
mov edx, eax
jmp 0x422630
cmp edx, 0xd6069f41
je 0x422683
cmp edx, 0x70e7b03
jne 0x422630
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, 0x9d5186c
jmp 0x422630
mov edx, ecx
jmp 0x422630
mov edx, 0x5e4012e3
jmp 0x422630
mov eax, dword [0x4abf80]
mov edi, 0x13224c72
mov ebx, 0x1c249ae2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1c249ae2
jmp 0x421e22
cmp byte [esi + 0x26], 0
mov eax, 0x59779ba6
jmp 0x4226c4
cmp byte [esi + 0x27], 0
mov eax, 0xc112bffc
mov ecx, 0xa25d46ef
cmovne eax, ecx
jmp 0x421e40
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x74], eax
mov eax, 0xf4c1eeb0
jmp 0x421e40
mov eax, dword [ebp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
mov eax, 0xbb7b9c74
jmp 0x421e40
mov eax, 0xe62793e9
jmp 0x421e40
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4abf98]
mov dword [esi + 0x10], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4abf94], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xc7f8c333
not dl
or dl, ch
mov ecx, 0x5887019e
test dl, 1
mov edx, 0x3f7fd7c9
cmovne eax, ecx
mov ecx, 0xc7f8c333
cmovne ecx, edx
mov edx, 0xbe971c08
nop dword [eax + eax]
cmp edx, 0x25255c02
jle 0x422790
cmp edx, 0x25255c03
je 0x4227aa
cmp edx, 0x3f7fd7c9
je 0x4227ae
cmp edx, 0x5887019e
jne 0x422760
jmp 0x422f44
cmp edx, 0xbe971c08
je 0x4227ba
cmp edx, 0xc7f8c333
jne 0x422760
mov edx, dword [esi + 4]
mov edx, 0x3f7fd7c9
jmp 0x422760
mov edx, ecx
jmp 0x422760
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x422760
mov edx, dword [esi + 0x10]
add edx, 0x10
mov dword [esi + 4], edx
mov edx, 0x25255c03
jmp 0x422760
mov eax, dword [esi + 0x30]
mov ecx, 0xd46c4a29
nop word cs:[eax + eax]
cmp ecx, 0x63c85f22
je 0x422f95
cmp ecx, 0xd46c4a29
jne 0x4227e0
mov ecx, dword [esi + 0x40]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
add ecx, 0x18
mov dword [esi + 8], ecx
mov ecx, 0x63c85f22
jmp 0x4227e0
mov eax, dword [esi + 0x30]
mov eax, dword [0x4abf80]
mov ebx, 0xb28d29fa
mov edi, 0x774fe1e4
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x774fe1e4
jmp 0x4232dd
mov eax, dword [0x4abf80]
mov edi, 0x247a0b87
mov ebx, 0x2767046a
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x2767046a
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x421e22
mov edx, dword [0x4abf80]
mov ecx, dword [0x4abf7c]
mov edi, 0xfb554763
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x774fe1e4
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x421e40
mov eax, 0xc7b24b77
jmp 0x421e40
mov eax, 0xa8f70307
jmp 0x421e40
mov eax, dword [esi + 0x3c]
mov eax, 0x1128bc7d
jmp 0x421e40
mov edx, dword [0x4abf80]
mov ecx, dword [0x4abf7c]
mov edi, 0xec12063c
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x76d93938
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x28]
cmovge eax, edi
jmp 0x421e40
mov eax, dword [esi + 0x30]
mov eax, dword [0x4abf80]
mov ebx, 0xec282422
mov edi, 0xc79bd2c0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc79bd2c0
jmp 0x4232e5
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4abf98]
mov dword [esi + 0x10], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4abf94], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xc7f8c333
not dl
or dl, ch
mov ecx, 0x5887019e
test dl, 1
mov edx, 0x3f7fd7c9
cmovne eax, ecx
mov ecx, 0xc7f8c333
cmovne ecx, edx
mov edx, 0xbe971c08
nop dword [eax + eax]
cmp edx, 0x25255c02
jle 0x4229b0
cmp edx, 0x25255c03
je 0x4229ca
cmp edx, 0x3f7fd7c9
je 0x4229ce
cmp edx, 0x5887019e
jne 0x422980
jmp 0x4230ce
cmp edx, 0xbe971c08
je 0x4229da
cmp edx, 0xc7f8c333
jne 0x422980
mov edx, dword [esi + 4]
mov edx, 0x3f7fd7c9
jmp 0x422980
mov edx, ecx
jmp 0x422980
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, eax
jmp 0x422980
mov edx, dword [esi + 0x10]
add edx, 0x10
mov dword [esi + 4], edx
mov edx, 0x25255c03
jmp 0x422980
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x1c]
lea ebx, [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x48]
vmovsd xmm0, qword [ebx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x34]
sub esp, 0x18
vmovsd xmm0, qword [edx]
movsx edx, byte [ebp + 0x18]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [eax]
vmovsd qword [ebx], xmm0
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x1c]
mov dword [eax], 0
mov eax, 0x1be0b238
jmp 0x421e40
mov eax, dword [esi + 8]
mov eax, dword [esi + 0x54]
mov eax, 0xcdd5ddc6
jmp 0x421e40
cmp byte [esi + 0x23], 0
mov eax, 0x6cb9cf1e
mov ecx, 0xd0d1a27c
cmovne eax, ecx
jmp 0x421e40
mov eax, 0x31f8413e
jmp 0x421e40
movzx eax, byte [esi + 0x24]
mov ecx, eax
xor cl, 0xfe
and cl, al
movzx eax, cl
mov dword [esi + 0x68], eax
mov eax, 0xe1f1ba3c
jmp 0x421e40
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp + 0x14]
push dword [esi + 0x2c]
call fcn.0041b4d0
push dword [esi + 0x2c]
call fcn.00427330
add esp, 4
mov dword [esi + 0x6c], eax
mov eax, 0xd6e4485c
jmp 0x421e40
mov eax, 0x13224c72
jmp 0x421e40
push eax
push eax
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x60]
mov edx, 0x5e4012e3
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 4], eax
mov eax, dword [0x4ac3b8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4ac3b4], 0xa
setl cl
or cl, al
mov eax, 0xd6069f41
mov ecx, 0x3091b9b2
cmovne eax, ecx
mov ecx, 0xd6069f41
cmovne ecx, edx
mov edx, 0x70e7b03
nop dword [eax + eax]
cmp edx, 0x9d5186b
jle 0x422b70
cmp edx, 0x9d5186c
je 0x422b8f
cmp edx, 0x3091b9b2
je 0x42327e
cmp edx, 0x5e4012e3
jne 0x422b40
mov edx, eax
jmp 0x422b40
cmp edx, 0xd6069f41
je 0x422b93
cmp edx, 0x70e7b03
jne 0x422b40
mov edx, dword [esi + 4]
mov edx, dword [edx]
mov dword [esi + 8], edx
mov edx, 0x9d5186c
jmp 0x422b40
mov edx, ecx
jmp 0x422b40
mov edx, 0x5e4012e3
jmp 0x422b40
mov eax, dword [esi + 8]
mov eax, 0x247a0b87
jmp 0x421e40
mov ecx, dword [esi + 0x14]
push dword [esi + 0x28]
call fcn.004366f0
mov ebx, dword [esi + 0x28]
mov eax, dword [0x4ac418]
mov ecx, dword [0x4ac414]
lea edx, [eax + 1]
imul edx, eax
mov eax, 0xf073b78a
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0xf]
cmp ecx, 0xa
setl byte [esi + 0x10]
nop
cmp eax, 0xf073b789
jg 0x422c50
cmp eax, 0x83947bad
je 0x422c93
cmp eax, 0x87f815b4
je 0x4232ab
cmp eax, 0xca08351e
jne 0x422be0
mov dword [esi + 4], ebx
mov ecx, dword [esi + 4]
call fcn.00408550
mov eax, dword [0x4ac418]
mov edi, 0x1726de71
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x53566e51
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, ebx
mov ebx, 0x53566e51
sete dh
cmove eax, edi
cmp dword [0x4ac414], 0xa
setl dl
cmovge eax, ebx
mov ebx, ecx
xor dl, dh
cmovne eax, edi
jmp 0x422be0
cmp eax, 0x53566e51
je 0x422ca3
cmp eax, 0x1726de71
je 0x422cb4
cmp eax, 0xf073b78a
jne 0x422be0
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0x10]
mov edi, 0xca08351e
mov edx, ecx
xor dl, al
mov edx, 0x53566e51
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x422be0
mov ecx, dword [esi + 4]
mov eax, 0x87f815b4
mov dword [esi + 0x18], ecx
jmp 0x422be0
mov ecx, ebx
call fcn.00408550
mov eax, 0xca08351e
jmp 0x422be0
mov eax, 0x83947bad
jmp 0x422be0
mov eax, dword [esi + 0x28]
mov dword [esi + 0x18], eax
mov eax, 0xd7bc6bb4
nop dword [eax]
cmp eax, 0xf521455f
jle 0x422d10
cmp eax, 0xf5214560
je 0x422d3a
cmp eax, 0x14e6bdd2
je 0x422d7d
cmp eax, 0x362eed47
jne 0x422cd0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
push dword [esi + 0x18]
call eax
mov eax, 0x14e6bdd2
jmp 0x422cd0
cmp eax, 0xcb1f34d6
je 0x4232c3
cmp eax, 0xd7bc6bb4
jne 0x422cd0
mov eax, dword [esi + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
add eax, 0x1c
mov dword [esi + 8], eax
mov eax, 0xf5214560
jmp 0x422cd0
mov edx, dword [0x4abf78]
mov ecx, dword [0x4abf74]
mov edi, 0x14e6bdd2
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x362eed47
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x422cd0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
push dword [esi + 0x18]
call eax
mov eax, dword [0x4abf78]
mov ebx, 0xcb1f34d6
mov edi, 0x362eed47
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x362eed47
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4abf74], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x422cd0
mov ebx, dword [esi + 0x28]
mov eax, 0xd7bc6bb4
nop word cs:[eax + eax]
cmp eax, 0xf521455f
jle 0x422e20
cmp eax, 0xf5214560
je 0x422e4a
cmp eax, 0x14e6bdd2
je 0x422e8c
cmp eax, 0x362eed47
jne 0x422de0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
push ebx
call eax
mov eax, 0x14e6bdd2
jmp 0x422de0
cmp eax, 0xcb1f34d6
je 0x423302
cmp eax, 0xd7bc6bb4
jne 0x422de0
mov eax, dword [esi + 0x40]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
add eax, 0x1c
mov dword [esi + 8], eax
mov eax, 0xf5214560
jmp 0x422de0
mov eax, dword [0x4abf78]
mov edi, 0x14e6bdd2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x362eed47
mov ecx, ebx
mov ebx, 0x362eed47
sete dh
cmove eax, edi
cmp dword [0x4abf74], 0xa
setl dl
cmovge eax, ebx
mov ebx, ecx
xor dl, dh
cmovne eax, edi
jmp 0x422de0
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 4]
push ebx
call eax
mov edx, dword [0x4abf78]
mov ecx, dword [0x4abf74]
mov edi, 0xcb1f34d6
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x362eed47
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x422de0
mov eax, dword [ebp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x70], eax
mov eax, 0xe5dc3697
jmp 0x421e40
mov eax, dword [ebp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x20]
mov dword [esi + 0x54], eax
mov eax, 0xbbe2a20
jmp 0x421e40
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x70]
sub ecx, eax
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, 0x31f8413e
jmp 0x421e40
mov eax, dword [esi + 8]
mov ecx, 0xd7cb9e77
not eax
or eax, 0xfffffe3f
cmp eax, 0xffffffbf
mov eax, 0xa3a8ae23
cmove eax, ecx
jmp 0x421e40
mov edx, dword [0x4abf80]
mov ecx, dword [0x4abf7c]
mov edi, 0xcdb28366
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xac4a6e80
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x54]
cmovge eax, edx
cmp edi, ecx
setbe byte [esi + 0x27]
jmp 0x421e40
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
mov ecx, dword [esi + 4]
push eax
call edx
mov ecx, dword [esi + 0x14]
push dword [esi + 0x30]
call fcn.004366f0
mov ebx, dword [esi + 0x30]
mov eax, dword [0x4ac418]
mov ecx, dword [0x4ac414]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xf073b78a
sete byte [esi + 0xf]
cmp ecx, 0xa
setl byte [esi + 0x10]
nop word cs:[eax + eax]
cmp eax, 0xf073b789
jg 0x423060
cmp eax, 0x83947bad
je 0x4230a3
cmp eax, 0x87f815b4
je 0x42330c
cmp eax, 0xca08351e
jne 0x422fe0
mov dword [esi + 4], ebx
mov ecx, dword [esi + 4]
call fcn.00408550
mov edx, dword [0x4ac418]
mov ecx, dword [0x4ac414]
mov dword [esi + 0x18], ebx
mov edi, 0x1726de71
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x53566e51
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, ebx
mov ebx, dword [esi + 0x18]
jmp 0x422fe0
cmp eax, 0x53566e51
je 0x4230b3
cmp eax, 0x1726de71
je 0x4230c4
cmp eax, 0xf073b78a
jne 0x422fe0
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0x10]
mov edi, 0xca08351e
mov edx, ecx
xor dl, al
mov edx, 0x53566e51
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x422fe0
mov ecx, dword [esi + 4]
mov eax, 0x87f815b4
mov dword [esi + 0x64], ecx
jmp 0x422fe0
mov ecx, ebx
call fcn.00408550
mov eax, 0xca08351e
jmp 0x422fe0
mov eax, 0x83947bad
jmp 0x422fe0
mov edi, dword [esi + 8]
mov ecx, dword [esi + 0x14]
call fcn.004198f0
lea edx, [ebp + 0xc]
mov ecx, dword [esi + 0x4c]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x4c]
mov ebx, dword [esi + 0x34]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.004285f0
add esp, 0x18
mov eax, dword [esi + 0x3c]
mov ecx, dword [ebp + 0x14]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [eax + 4], ebx
mov dword [eax], edi
mov eax, dword [esi + 0x3c]
push 0
push 0
call fcn.0040fd50
mov eax, dword [esi + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
mov dword [ecx + 4], ebx
mov dword [ecx], edi
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x34]
sub esp, 0x18
vmovsd xmm0, qword [ecx]
movsx edi, byte [ebp + 0x18]
mov ecx, dword [ebp + 8]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00428100
add esp, 0x18
mov eax, dword [esi + 0x1c]
mov ebx, dword [esi + 0x14]
mov eax, dword [0x4ac418]
mov ecx, dword [0x4ac414]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xf073b78a
sete byte [esi + 0xf]
cmp ecx, 0xa
setl byte [esi + 0x10]
nop
cmp eax, 0xf073b789
jg 0x423210
cmp eax, 0x83947bad
je 0x423253
cmp eax, 0x87f815b4
je 0x423324
cmp eax, 0xca08351e
jne 0x4231a0
mov dword [esi + 4], ebx
mov ecx, dword [esi + 4]
call fcn.00408550
mov eax, dword [0x4ac418]
mov edi, 0x1726de71
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x53566e51
mov ecx, ebx
mov ebx, 0x53566e51
sete dh
cmove eax, edi
cmp dword [0x4ac414], 0xa
setl dl
cmovge eax, ebx
mov ebx, ecx
xor dl, dh
cmovne eax, edi
jmp 0x4231a0
cmp eax, 0x53566e51
je 0x423263
cmp eax, 0x1726de71
je 0x423274
cmp eax, 0xf073b78a
jne 0x4231a0
movzx ecx, byte [esi + 0xf]
movzx eax, byte [esi + 0x10]
mov edi, 0xca08351e
mov edx, ecx
xor dl, al
mov edx, 0x53566e51
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x4231a0
mov ecx, dword [esi + 4]
mov eax, 0x87f815b4
mov dword [esi + 0x18], ecx
jmp 0x4231a0
mov ecx, ebx
call fcn.00408550
mov eax, 0xca08351e
jmp 0x4231a0
mov eax, 0x83947bad
jmp 0x4231a0
mov eax, dword [esi + 8]
mov ebx, 0x362f999c
mov edi, 0x2767046a
mov ecx, eax
xor ecx, 0xffffbfff
test ecx, eax
mov eax, dword [0x4abf80]
setne byte [esi + 0x23]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x2767046a
jmp 0x4232dd
mov eax, dword [esi + 0x18]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
call fcn.00408760
mov eax, 0xceb77496
jmp 0x421e40
mov eax, dword [0x4abf80]
mov ebx, 0x50b12556
mov edi, 0xec12063c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xec12063c
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4abf7c], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x421e40
mov eax, 0x76d93938
jmp 0x421e40
mov eax, dword [esi + 0x64]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
call fcn.00408760
mov eax, 0x1aa02281
jmp 0x421e40
mov eax, dword [esi + 0x18]
mov dword [esi + 8], eax
mov ecx, dword [esi + 8]
call fcn.00408760
mov eax, dword [esi + 0x14]
mov eax, 0x825ddc1b
jmp 0x421e40
cmp eax, 0x3832ad2
jne 0x421e40
mov ecx, dword [esi + 0x80]
xor ecx, ebp
call fcn.004388e0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18