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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x80], ecx
mov eax, dword [0x4a92c0]
xor eax, ebp
mov dword [esi + 0x90], eax
mov eax, 0x8851d914
jmp 0x422000
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x51f549a7
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, 0xddbb8f4d
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
nop dword [eax + eax]
cmp eax, 0x8d4159
jg 0x422090
cmp eax, 0xc8bab158
jg 0x422170
cmp eax, 0x99d9795c
jle 0x4222e5
cmp eax, 0xafdd50b3
jle 0x42244c
cmp eax, 0xc3c8b310
jg 0x4226b3
cmp eax, 0xafdd50b4
je 0x422771
cmp eax, 0xb7ffdec7
jne 0x422000
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x30]
mov edi, dword [esi + 0x74]
movsx ebx, byte [esi + 0x1e]
mov eax, dword [esi + 0x78]
sub esp, 0x18
vmovsd xmm0, qword [edx]
mov edx, dword [ebp + 8]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp], edx
call dword [esi + 0x10]
mov eax, 0xa1ffd914
jmp 0x422000
cmp eax, 0x51f549a6
jg 0x4222a0
cmp eax, 0x2516e7ad
jle 0x42231e
cmp eax, 0x331e9683
jle 0x4224db
cmp eax, 0x479ef102
jg 0x4226fd
cmp eax, 0x331e9684
je 0x42279c
cmp eax, 0x346a9578
jne 0x422000
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x68], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x6c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x70], eax
movzx ecx, byte [ebp + 0x1c]
mov eax, dword [esi + 0x50]
mov byte [eax], cl
movzx ecx, byte [ebp + 0x18]
mov eax, dword [esi + 0x40]
mov byte [eax], cl
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
mov dword [eax], ecx
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov ecx, 0x252e1848
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
add eax, 0x14
nop dword [eax + eax]
cmp ecx, 0x252e1848
je 0x422165
cmp ecx, 0x11b4a965
jne 0x422150
jmp 0x4227f1
mov ecx, 0x11b4a965
jmp 0x422150
cmp eax, 0xd4ab5764
jle 0x422354
cmp eax, 0xedfd535c
jle 0x422506
cmp eax, 0xf5b689cc
jg 0x42273c
cmp eax, 0xedfd535d
je 0x422815
cmp eax, 0xf1c8d59b
jne 0x422000
mov ecx, dword [0x4ab390]
mov edx, dword [0x4ab38c]
mov edi, 0xbe1ac0d8
mov ebx, 0xc359582
lea eax, [ecx + 1]
imul eax, ecx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete cl
cmp edx, 0xa
setl ch
xor ch, cl
cmovne edi, ebx
cmp eax, 0xffffffff
mov eax, dword [esi + 0x14]
mov ecx, edi
cmove ecx, ebx
mov ebx, 0x40bb4aa1
mov eax, dword [eax]
sete byte [esi + 6]
cmp edx, 0xa
cmovge ecx, edi
setl byte [esi + 7]
mov dword [esi + 0x10], eax
nop dword [eax]
cmp ebx, 0xe8e696c8
jg 0x422230
cmp ebx, 0x86248a68
je 0x422274
cmp ebx, 0xa3781ddd
je 0x42283b
cmp ebx, 0xbe1ac0d8
jne 0x422200
mov ebx, 0x86248a68
jmp 0x422200
cmp ebx, 0xe8e696c9
je 0x42227e
cmp ebx, 0xc359582
je 0x422291
cmp ebx, 0x40bb4aa1
jne 0x422200
movzx eax, byte [esi + 6]
movzx ebx, byte [esi + 7]
mov edx, 0x86248a68
mov edi, 0xbe1ac0d8
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0xbe1ac0d8
cmovne ebx, edx
test al, al
cmove ebx, edi
test ah, ah
cmovne ebx, edx
jmp 0x422200
mov eax, dword [esi + 0x10]
mov ebx, ecx
mov dword [esi + 0xc], eax
jmp 0x422200
mov eax, dword [esi + 0xc]
mov ebx, 0xa3781ddd
add eax, 0x20
mov dword [esi + 0x24], eax
jmp 0x422200
mov ebx, 0xe8e696c9
jmp 0x422200
cmp eax, 0x61bd3eb4
jle 0x4223b3
cmp eax, 0x713b0b0a
jg 0x422535
cmp eax, 0x65295491
jle 0x42275c
cmp eax, 0x65295492
je 0x422853
cmp eax, 0x66754726
jne 0x422000
cmp byte [esi + 0x2b], 0
mov eax, 0xf1c8d59b
jmp 0x422cf2
cmp eax, 0x912d8d28
jg 0x42257c
cmp eax, 0x860b3426
je 0x422863
cmp eax, 0x8851d914
je 0x42286d
cmp eax, 0x8d2be213
jne 0x422000
mov eax, dword [esi + 0x38]
mov eax, 0xd2ae1eb9
jmp 0x422000
cmp eax, 0xafd3821
jg 0x4225e6
cmp eax, 0x8d415a
je 0x4228ad
cmp eax, 0x3b01d2b
je 0x42299a
cmp eax, 0x4ffb6ca
jne 0x422000
mov eax, 0x479ef103
jmp 0x422000
cmp eax, 0xce783511
jg 0x42261e
cmp eax, 0xc8bab159
je 0x4229a4
cmp eax, 0xc9852ebe
je 0x4229e1
cmp eax, 0xcc6a6c50
jne 0x422000
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x8d415a
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, 0xd4ecc2b0
jmp 0x422d2d
cmp eax, 0x5c23b9ff
jg 0x42267c
cmp eax, 0x51f549a7
je 0x4229ee
cmp eax, 0x53d90f61
je 0x422a3f
cmp eax, 0x59ac5c8c
jne 0x422000
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
lea edi, [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x40]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0x68]
vmovsd xmm0, qword [edi]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x68]
mov ebx, dword [esi + 0x30]
sub esp, 0x18
vmovsd xmm0, qword [edi]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00428110
add esp, 0x18
mov eax, dword [esi + 0x44]
vmovsd xmm0, qword [eax]
lea eax, [ebp + 0xc]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov eax, 0x860b3426
jmp 0x422000
cmp eax, 0x99d9795d
je 0x422a7a
cmp eax, 0x9b9c64e6
je 0x422a84
cmp eax, 0xa1ffd914
jne 0x422000
mov eax, dword [esi + 0x7c]
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x30]
mov edi, dword [esi + 0x74]
movsx ebx, byte [esi + 0x1e]
mov eax, dword [esi + 0x78]
sub esp, 0x18
vmovsd xmm0, qword [edx]
mov edx, dword [ebp + 8]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp], edx
call dword [esi + 0x10]
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0xd28d996b
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, 0xb7ffdec7
jmp 0x421fea
cmp eax, 0x2516e7ae
je 0x422aac
cmp eax, 0x2673ba82
je 0x422adc
cmp eax, 0x28ab688f
jne 0x422000
mov eax, 0x7d88ab11
jmp 0x422000
cmp eax, 0xd4ab5765
je 0x422b22
cmp eax, 0xd4ecc2b0
je 0x422b5c
cmp eax, 0xddbb8f4d
jne 0x422000
movzx eax, byte [esi + 0x1f]
mov eax, 0x51f549a7
jmp 0x422000
cmp eax, 0x713b0b0b
je 0x422c4b
cmp eax, 0x7d680fe1
je 0x421fbb
cmp eax, 0x7d88ab11
jne 0x422000
mov eax, dword [esi + 0x18]
mov ecx, 0x14d9d6e6
nop
cmp ecx, 0x14d9d6e6
je 0x422575
cmp ecx, 0x9ef58684
jne 0x422560
jmp 0x422c66
mov ecx, 0x9ef58684
jmp 0x422560
cmp eax, 0x912d8d29
je 0x422c83
cmp eax, 0x930cdc4b
je 0x422cc0
cmp eax, 0x954d5a15
jne 0x422000
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x1d378965
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, 0x912d8d29
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x34]
mov ecx, dword [esi + 0x2c]
cmovge eax, edi
jmp 0x422000
cmp eax, 0xafd3822
je 0x422cca
cmp eax, 0x1cf19180
je 0x422ce9
cmp eax, 0x1d378965
jne 0x422000
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push dword [esi + 0x2c]
call fcn.0041bf70
mov eax, 0x912d8d29
jmp 0x422000
cmp eax, 0xce783512
je 0x422cff
cmp eax, 0xd28d996b
je 0x422d42
cmp eax, 0xd2ae1eb9
jne 0x422000
mov eax, dword [esi + 0x34]
mov ecx, dword [eax]
push dword [esi + 0x38]
call fcn.00438530
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x38]
mov edx, 0x9008cb33
nop word [eax + eax]
cmp edx, 0x9008cb33
je 0x422675
cmp edx, 0xfc2a2e69
jne 0x422660
jmp 0x422d4c
mov edx, 0xfc2a2e69
jmp 0x422660
cmp eax, 0x5c23ba00
je 0x422e02
cmp eax, 0x5d0552ee
je 0x422e15
cmp eax, 0x6153382e
jne 0x422000
cmp byte [esi + 0x29], 0
mov eax, 0xd4ab5765
mov ecx, 0x8d2be213
cmovne eax, ecx
jmp 0x422000
cmp eax, 0xc3c8b311
je 0x422e1f
cmp eax, 0xc408ef08
jne 0x422000
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x331e9684
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, 0x65295492
jmp 0x421fea
cmp eax, 0x479ef103
je 0x422e4c
cmp eax, 0x488263b7
jne 0x422000
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x18]
mov ecx, 0x14d9d6e6
nop
cmp ecx, 0x14d9d6e6
je 0x422735
cmp ecx, 0x9ef58684
jne 0x422720
jmp 0x422f3b
mov ecx, 0x9ef58684
jmp 0x422720
cmp eax, 0xf5b689cd
je 0x422f54
cmp eax, 0xfe1a521d
jne 0x422000
mov eax, 0xc3c8b311
jmp 0x422000
cmp eax, 0x61bd3eb5
jne 0x4232de
mov eax, 0xc3c8b311
jmp 0x422000
mov eax, dword [esi + 0x18]
mov ecx, 0x14d9d6e6
nop dword [eax]
cmp ecx, 0x14d9d6e6
je 0x422795
cmp ecx, 0x9ef58684
jne 0x422780
jmp 0x423002
mov ecx, 0x9ef58684
jmp 0x422780
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x1cf19180
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, 0x65295492
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov edi, dword [esi + 0x58]
cmovge eax, edx
mov edx, dword [esi + 0x5c]
cmp edi, 1
sbb edx, 0
setl byte [esi + 0x2a]
jmp 0x422000
mov dword [esi + 8], eax
mov ecx, 0xc8bab159
mov eax, dword [esi + 8]
mov eax, dword [eax]
not eax
or eax, 0xffffbfff
cmp eax, 0xffffffff
mov eax, 0x954d5a15
cmove eax, ecx
jmp 0x422000
mov eax, dword [0x4aafc8]
mov ebx, 0xafdd50b4
mov edi, 0x9b9c64e6
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x9b9c64e6
jmp 0x423233
mov eax, dword [esi + 0x24]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov eax, 0xedfd535d
jmp 0x422000
mov eax, dword [esi + 0x58]
mov eax, dword [esi + 0x5c]
mov eax, 0x331e9684
jmp 0x422000
mov eax, 0x488263b7
jmp 0x422000
push eax
mov eax, esp
mov dword [esi + 0x50], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x64], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x18], eax
mov eax, 0x346a9578
jmp 0x422000
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4ab390]
mov edx, dword [0x4ab38c]
lea edi, [ecx - 1]
mov eax, dword [eax]
imul edi, ecx
mov ecx, 0xbe1ac0d8
not edi
or edi, 0xfffffffe
mov dword [esi + 0x10], eax
mov eax, 0xc359582
cmp edi, 0xffffffff
mov edi, 0xbe1ac0d8
sete bl
sete byte [esi + 6]
cmove ecx, eax
cmp edx, 0xa
setl dl
setl byte [esi + 7]
cmovge ecx, edi
xor dl, bl
mov ebx, 0x40bb4aa1
cmovne ecx, eax
nop
cmp ebx, 0xe8e696c8
jg 0x422930
cmp ebx, 0x86248a68
je 0x422973
cmp ebx, 0xa3781ddd
je 0x423052
cmp ebx, 0xbe1ac0d8
jne 0x422900
mov ebx, 0x86248a68
jmp 0x422900
cmp ebx, 0xe8e696c9
je 0x42297d
cmp ebx, 0xc359582
je 0x422990
cmp ebx, 0x40bb4aa1
jne 0x422900
movzx edx, byte [esi + 6]
mov ah, byte [esi + 7]
mov ebx, 0xbe1ac0d8
mov edi, 0x86248a68
mov al, dl
xor al, ah
test ah, ah
cmovne ebx, edi
test dl, dl
mov edx, 0xbe1ac0d8
cmove ebx, edx
test al, al
cmovne ebx, edi
jmp 0x422900
mov eax, dword [esi + 0x10]
mov ebx, ecx
mov dword [esi + 0xc], eax
jmp 0x422900
mov eax, dword [esi + 0xc]
mov ebx, 0xa3781ddd
add eax, 0x20
mov dword [esi + 0x24], eax
jmp 0x422900
mov ebx, 0xe8e696c9
jmp 0x422900
mov eax, 0x53d90f61
jmp 0x422000
mov eax, dword [esi + 0x50]
lea ecx, [ebp + 0xc]
movzx eax, byte [eax]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x40]
movzx eax, byte [eax]
mov byte [esi + 0x1e], al
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x54]
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
add eax, 0x24
mov dword [esi + 0x7c], eax
mov eax, 0xce783512
jmp 0x422000
mov eax, dword [esi + 0x38]
mov eax, 0x2673ba82
jmp 0x422000
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0xddbb8f4d
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, 0x6153382e
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ch, byte [esi + 0x1f]
cmovge eax, edi
mov dl, ch
xor dl, 0xfe
test dl, ch
setne byte [esi + 0x29]
jmp 0x422000
push dword [esi + 0x2c]
call fcn.00427500
add esp, 4
mov ecx, dword [esi + 0x2c]
mov ebx, eax
call fcn.0041c0b0
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x34]
mov dword [eax], ebx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
call fcn.00401530
mov eax, dword [esi + 0x50]
movzx eax, byte [eax]
mov byte [esi + 0x1f], al
mov eax, 0x7d680fe1
jmp 0x422000
mov eax, 0x2673ba82
jmp 0x422000
mov eax, dword [esi + 0x18]
mov ecx, 0x14d9d6e6
nop dword [eax]
cmp ecx, 0x14d9d6e6
je 0x422aa5
cmp ecx, 0x9ef58684
jne 0x422a90
jmp 0x423065
mov ecx, 0x9ef58684
jmp 0x422a90
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], eax
mov eax, 0x7f0f49a7
nop word [eax + eax]
cmp eax, 0x284a0c4b
je 0x423086
cmp eax, 0x7f0f49a7
jne 0x422ac0
mov ecx, dword [esi + 0xc]
mov eax, 0x284a0c4b
jmp 0x422ac0
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x5d0552ee
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, 0xafd3822
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x20]
cmovge eax, edi
jmp 0x422000
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x34]
mov ecx, dword [eax]
push dword [esi + 0x3c]
call fcn.004385a0
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, 0x9008cb33
nop dword [eax]
cmp edx, 0x9008cb33
je 0x422b55
cmp edx, 0xfc2a2e69
jne 0x422b40
jmp 0x4231e2
mov edx, 0xfc2a2e69
jmp 0x422b40
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4ab390]
mov edx, dword [0x4ab38c]
lea edi, [ecx + 1]
mov eax, dword [eax]
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
mov dword [esi + 0x10], eax
mov ecx, 0xbe1ac0d8
mov eax, 0xc359582
mov edi, 0xbe1ac0d8
sete bl
sete byte [esi + 6]
cmove ecx, eax
cmp edx, 0xa
setl dl
setl byte [esi + 7]
cmovge ecx, edi
xor dl, bl
mov ebx, 0x40bb4aa1
cmovne ecx, eax
nop dword [eax]
cmp ebx, 0xe8e696c8
jg 0x422be0
cmp ebx, 0x86248a68
je 0x422c24
cmp ebx, 0xa3781ddd
je 0x423200
cmp ebx, 0xbe1ac0d8
jne 0x422bb0
mov ebx, 0x86248a68
jmp 0x422bb0
cmp ebx, 0xe8e696c9
je 0x422c2e
cmp ebx, 0xc359582
je 0x422c41
cmp ebx, 0x40bb4aa1
jne 0x422bb0
movzx eax, byte [esi + 6]
movzx ebx, byte [esi + 7]
mov edx, 0x86248a68
mov edi, 0xbe1ac0d8
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0xbe1ac0d8
cmovne ebx, edx
test al, al
cmove ebx, edi
test ah, ah
cmovne ebx, edx
jmp 0x422bb0
mov eax, dword [esi + 0x10]
mov ebx, ecx
mov dword [esi + 0xc], eax
jmp 0x422bb0
mov eax, dword [esi + 0xc]
mov ebx, 0xa3781ddd
add eax, 0x20
mov dword [esi + 0x24], eax
jmp 0x422bb0
mov ebx, 0xe8e696c9
jmp 0x422bb0
mov eax, dword [esi + 0x88]
mov ecx, 0x488263b7
cmp eax, 0x40
mov eax, 0x59ac5c8c
cmove eax, ecx
jmp 0x422000
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x84]
cmp ecx, dword [eax + 0x10]
mov eax, 0x66754726
setbe byte [esi + 0x2b]
jmp 0x422000
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push dword [esi + 0x2c]
call fcn.0041bf70
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0x1d378965
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, 0x3b01d2b
jmp 0x422d2d
mov eax, 0x61f95c59
jmp 0x422000
mov eax, dword [0x4aafc8]
mov edi, 0x4ffb6ca
mov ebx, 0x5d0552ee
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x5d0552ee
jmp 0x42302d
cmp byte [esi + 0x2a], 0
mov eax, 0xcc6a6c50
mov ecx, 0x5c23ba00
cmovne eax, ecx
jmp 0x422000
mov edx, dword [0x4aafc8]
mov ecx, dword [0x4aafc4]
mov edi, 0xb7ffdec7
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, 0xa1ffd914
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x422000
mov eax, 0x930cdc4b
jmp 0x422000
mov dword [esi + 0xc], eax
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xc]
push dword [esi + 8]
call fcn.004386e0
mov eax, dword [esi + 0xc]
mov ebx, dword [esi + 0x38]
mov eax, dword [0x4ab410]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x4ab40c], 0xa
setge dl
setl ah
or dl, al
xor ah, cl
mov ecx, 0x1662829e
xor dl, 1
or dl, ah
mov eax, 0x25f25fae
mov edx, 0x4fd052a1
cmovne eax, ecx
mov ecx, 0x25f25fae
cmovne ecx, edx
mov edx, 0xd788de97
cmp edx, 0x25f25fad
jle 0x422de0
cmp edx, 0x25f25fae
je 0x422df7
cmp edx, 0x2ee6eb87
je 0x423250
cmp edx, 0x4fd052a1
jne 0x422db0
mov edx, eax
jmp 0x422db0
cmp edx, 0xd788de97
je 0x422dfe
cmp edx, 0x1662829e
jne 0x422db0
mov edx, 0x2ee6eb87
jmp 0x422db0
mov edx, 0x4fd052a1
jmp 0x422db0
mov edx, ecx
jmp 0x422db0
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov eax, 0x61bd3eb5
jmp 0x422000
mov eax, 0xafd3822
jmp 0x422000
mov eax, dword [esi + 0x14]
mov ecx, 0x252e1848
mov eax, dword [eax]
add eax, 0x14
nop dword [eax]
cmp ecx, 0x252e1848
je 0x422e45
cmp ecx, 0x11b4a965
jne 0x422e30
jmp 0x423268
mov ecx, 0x11b4a965
jmp 0x422e30
mov eax, dword [esi + 0x14]
mov ecx, dword [0x4ab390]
mov edx, dword [0x4ab38c]
lea edi, [ecx + 1]
mov eax, dword [eax]
imul edi, ecx
mov ecx, 0xbe1ac0d8
not edi
or edi, 0xfffffffe
mov dword [esi + 0x10], eax
mov eax, 0xc359582
cmp edi, 0xffffffff
mov edi, 0xbe1ac0d8
sete bl
sete byte [esi + 6]
cmove ecx, eax
cmp edx, 0xa
setl dl
setl byte [esi + 7]
cmovge ecx, edi
xor dl, bl
mov ebx, 0x40bb4aa1
cmovne ecx, eax
nop
cmp ebx, 0xe8e696c8
jg 0x422ed0
cmp ebx, 0x86248a68
je 0x422f14
cmp ebx, 0xa3781ddd
je 0x423287
cmp ebx, 0xbe1ac0d8
jne 0x422ea0
mov ebx, 0x86248a68
jmp 0x422ea0
cmp ebx, 0xe8e696c9
je 0x422f1e
cmp ebx, 0xc359582
je 0x422f31
cmp ebx, 0x40bb4aa1
jne 0x422ea0
movzx eax, byte [esi + 6]
movzx ebx, byte [esi + 7]
mov edx, 0x86248a68
mov edi, 0xbe1ac0d8
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0xbe1ac0d8
cmovne ebx, edx
test al, al
cmove ebx, edi
test ah, ah
cmovne ebx, edx
jmp 0x422ea0
mov eax, dword [esi + 0x10]
mov ebx, ecx
mov dword [esi + 0xc], eax
jmp 0x422ea0
mov eax, dword [esi + 0xc]
mov ebx, 0xa3781ddd
add eax, 0x20
mov dword [esi + 0x24], eax
jmp 0x422ea0
mov ebx, 0xe8e696c9
jmp 0x422ea0
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x8c], eax
mov eax, 0x2516e7ae
jmp 0x422000
mov ebx, dword [esi + 0x3c]
mov eax, dword [0x4ab410]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4ab40c], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x25f25fae
or cl, dl
mov ecx, 0x1662829e
mov edx, 0x4fd052a1
cmovne eax, ecx
mov ecx, 0x25f25fae
cmovne ecx, edx
mov edx, 0xd788de97
nop word cs:[eax + eax]
cmp edx, 0x25f25fad
jle 0x422fe0
cmp edx, 0x25f25fae
je 0x422ff7
cmp edx, 0x2ee6eb87
je 0x4232a5
cmp edx, 0x4fd052a1
jne 0x422fb0
mov edx, eax
jmp 0x422fb0
cmp edx, 0xd788de97
je 0x422ffe
cmp edx, 0x1662829e
jne 0x422fb0
mov edx, 0x2ee6eb87
jmp 0x422fb0
mov edx, 0x4fd052a1
jmp 0x422fb0
mov edx, ecx
jmp 0x422fb0
mov dword [esi + 8], eax
mov edi, 0xfe1a521d
mov ebx, 0x9b9c64e6
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x4c]
sub ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [0x4aafc8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x9b9c64e6
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4aafc4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x422000
mov eax, dword [esi + 0x24]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, 0xd4ecc2b0
jmp 0x422000
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
sub ecx, dword [eax + 0x10]
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, 0xafdd50b4
jmp 0x422000
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
call fcn.004110b0
lea edx, [ebp + 0xc]
mov ecx, dword [esi + 0x6c]
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x30]
mov ebx, dword [esi + 0x8c]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], edi
call fcn.004286a0
add esp, 0x18
mov eax, dword [esi + 0x48]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
lea eax, [ebp + 0xc]
mov dword [eax + 4], edi
mov dword [eax], ebx
mov eax, dword [esi + 0x48]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push 0
push 0
call fcn.004122b0
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x40]
movsx ecx, byte [ecx]
mov edx, dword [esi + 0x70]
mov dword [edx + 4], edi
mov dword [edx], ebx
mov edx, dword [esi + 0x70]
mov edi, dword [esi + 0x30]
sub esp, 0x18
vmovsd xmm0, qword [edx]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00428110
add esp, 0x18
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x18]
mov ecx, dword [0x4ab410]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4ab40c], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0x25f25fae
not dl
or dl, ch
mov ecx, 0x1662829e
test dl, 1
mov edx, 0x4fd052a1
cmovne eax, ecx
mov ecx, 0x25f25fae
cmovne ecx, edx
mov edx, 0xd788de97
nop word cs:[eax + eax]
cmp edx, 0x25f25fad
jle 0x4231c0
cmp edx, 0x25f25fae
je 0x4231d7
cmp edx, 0x2ee6eb87
je 0x4232c0
cmp edx, 0x4fd052a1
jne 0x423190
mov edx, eax
jmp 0x423190
cmp edx, 0xd788de97
je 0x4231de
cmp edx, 0x1662829e
jne 0x423190
mov edx, 0x2ee6eb87
jmp 0x423190
mov edx, 0x4fd052a1
jmp 0x423190
mov edx, ecx
jmp 0x423190
mov dword [esi + 0xc], eax
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xc]
push dword [esi + 8]
call fcn.004386e0
mov eax, dword [esi + 0xc]
mov eax, 0xf5b689cd
jmp 0x422000
mov eax, dword [esi + 0x24]
mov ebx, 0x28ab688f
mov edi, 0x8d415a
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x84], eax
mov eax, dword [0x4aafc8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x8d415a
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4aafc4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x422000
mov ecx, ebx
call fcn.0040ade0
mov ecx, ebx
call fcn.0040b3c0
mov eax, 0xc9852ebe
jmp 0x422000
mov dword [esi + 8], eax
mov ecx, 0x1c0
mov eax, dword [esi + 8]
mov eax, dword [eax]
and eax, ecx
mov dword [esi + 0x88], eax
mov eax, 0x713b0b0b
jmp 0x422000
mov eax, dword [esi + 0x24]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
mov eax, 0xc408ef08
jmp 0x422000
mov ecx, ebx
call fcn.0040ade0
mov ecx, ebx
call fcn.0040b3c0
mov eax, dword [esi + 0x3c]
mov eax, 0x99d9795d
jmp 0x422000
mov ecx, ebx
call fcn.0040ade0
mov ecx, ebx
call fcn.0040b3c0
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x34]
mov eax, 0x61f95c59
jmp 0x422000
cmp eax, 0x61f95c59
jne 0x422000
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.0043a910
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18