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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov esi, dword [ebp + 0x14]
mov edx, dword [0x4ae2c0]
movzx eax, byte [ebp + 0x1c]
mov edi, 0x56e03aaf
xor edx, ebp
test al, al
movzx eax, al
mov dword [esp + 0x110], edx
mov dword [esp + 0x30], ecx
mov ecx, 0x526a00fc
mov dword [esp + 0x64], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x3c], esi
cmovne edi, ecx
mov dword [esp + 0x60], eax
lea eax, [esi + 0x20]
mov ecx, 0x2c3aba80
mov dword [esp + 0x68], edi
lea edi, [esp + 0xf8]
mov dword [esp + 0x44], eax
jmp 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0xae5a3126
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x450c2aa
cmovne esi, ebx
test edx, ecx
mov ecx, esi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, esi
cmp ecx, 0xf3917f92
jg 0x422b30
cmp ecx, 0xc8787b4b
jle 0x422ba0
cmp ecx, 0xdbbc1cb3
jle 0x422c82
cmp ecx, 0xeb926695
jg 0x422dc0
cmp ecx, 0xddc3f71f
jg 0x423013
cmp ecx, 0xdbbc1cb4
je 0x423293
cmp ecx, 0xdc40415f
jne 0x422a90
mov eax, 0xae14be9e
nop word cs:[eax + eax]
cmp eax, 0xddccd513
je 0x4232c7
cmp eax, 0xae14be9e
jne 0x422af0
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call fcn.00438e60
sub esp, 4
mov eax, 0xddccd513
jmp 0x422af0
cmp ecx, 0x3f3f0ec7
jle 0x422c00
cmp ecx, 0x56e03aae
jle 0x422cbc
cmp ecx, 0x7533d5ff
jg 0x422dfb
cmp ecx, 0x5fa8d496
jg 0x423035
cmp ecx, 0x56e03aaf
je 0x4232e0
cmp ecx, 0x5f186314
jne 0x422a90
mov eax, 0x99e65b07
nop dword [eax]
cmp eax, 0x99e65b07
je 0x422b93
cmp eax, 0x29ee60f8
jne 0x422b80
jmp 0x423312
mov eax, 0x29ee60f8
jmp 0x422b80
cmp ecx, 0xa9bf696a
jg 0x422d0d
cmp ecx, 0x98248d29
jle 0x422e29
cmp ecx, 0xa5fd6f47
jg 0x42309a
cmp ecx, 0x98248d2a
je 0x4233f7
cmp ecx, 0x9abf2130
jne 0x422a90
cmp dword [esp + 0x70], 0
mov ecx, 0x2aaaff74
mov eax, 0x8429b232
cmove ecx, eax
jmp 0x422a90
cmp ecx, 0xfde611a
jg 0x422d6a
cmp ecx, 0xfd2a3e7f
jle 0x422e87
cmp ecx, 0x450c2a9
jg 0x4230ea
cmp ecx, 0xfd2a3e80
je 0x42341a
cmp ecx, 0xfd564dfb
jne 0x422a90
mov eax, 0xae14be9e
nop word cs:[eax + eax]
cmp eax, 0xddccd513
je 0x423474
cmp eax, 0xae14be9e
jne 0x422c50
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
mov eax, dword [eax + 0x30]
mov dword [esp], eax
call fcn.00438e60
sub esp, 4
mov eax, 0xddccd513
jmp 0x422c50
cmp ecx, 0xd3d7aff1
jle 0x422f57
cmp ecx, 0xd6bd7a1a
jg 0x42312c
cmp ecx, 0xd3d7aff2
je 0x4234cf
cmp ecx, 0xd48545d8
jne 0x422a90
mov ecx, 0xf5cbd2c2
jmp 0x422a90
cmp ecx, 0x476cb512
jle 0x422f85
cmp ecx, 0x526a00fb
jg 0x423176
cmp ecx, 0x476cb513
je 0x4234f5
cmp ecx, 0x4a027c6a
jne 0x422a90
lea ecx, [esp + 0xc0]
call fcn.0041c1d0
mov eax, dword [esp + 0x80]
mov ecx, 0xfde611b
mov dword [esp + 0x48], eax
jmp 0x422a90
cmp ecx, 0xafa2d2e7
jle 0x422fb3
cmp ecx, 0xb9018d6c
jg 0x4231bc
cmp ecx, 0xafa2d2e8
je 0x423515
cmp ecx, 0xb34f68bd
jne 0x422a90
mov eax, 0x31cfd9b5
nop word cs:[eax + eax]
cmp eax, 0x31cfd9b5
je 0x422d63
cmp eax, 0x7ec8f6f7
jne 0x422d50
jmp 0x423557
mov eax, 0x7ec8f6f7
jmp 0x422d50
cmp ecx, 0x28c7341e
jle 0x422fe5
cmp ecx, 0x2c3aba7f
jg 0x423223
cmp ecx, 0x28c7341f
je 0x422a53
cmp ecx, 0x2aaaff74
jne 0x422a90
mov eax, dword [0x4affb0]
mov ebx, 0xfd564dfb
mov esi, 0xdc40415f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xdc40415f
jmp 0x423fa7
cmp ecx, 0xefe5013a
jg 0x42325b
cmp ecx, 0xeb926696
je 0x423581
cmp ecx, 0xeb9be8b8
jne 0x422a90
cmp byte [esp + 0x3b], 0
mov ecx, 0xefe5013b
mov eax, 0xc8787b4c
cmovne ecx, eax
jmp 0x422a90
cmp ecx, 0x7cefd569
jle 0x42327d
cmp ecx, 0x7cefd56a
je 0x4235a8
cmp ecx, 0x7f198d69
jne 0x422a90
mov ecx, 0xb9018d6d
jmp 0x422a90
cmp ecx, 0x8429b232
je 0x423662
cmp ecx, 0x8c397b60
je 0x4236a4
cmp ecx, 0x8cb04ffc
jne 0x422a90
mov eax, dword [esp + 0x88]
add eax, 0x20
mov dword [esp + 0x1c], eax
mov eax, 0x6db18013
cmp eax, 0xf6e7c919
je 0x4236e5
cmp eax, 0x6db18013
jne 0x422e60
mov eax, dword [esp + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, 0xf6e7c919
vmovsd qword [esp + 0x20], xmm0
jmp 0x422e60
cmp ecx, 0xf3917f93
je 0x4236ff
cmp ecx, 0xf5cbd2c2
je 0x42373b
cmp ecx, 0xf6b2a9e0
jne 0x422a90
lea eax, [esp + 0xc8]
mov ecx, edi
mov dword [esp], eax
call fcn.004377d0
sub esp, 4
mov eax, dword [0x4b0430]
mov edx, 0x357c0107
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b042c], 0xa
setl cl
or cl, al
mov eax, 0xff1c9814
mov ecx, 0x1e613177
cmovne eax, ecx
mov ecx, 0xff1c9814
cmovne ecx, edx
mov edx, 0x6ea62d35
cmp edx, 0x1e613176
jle 0x422f30
cmp edx, 0x1e613177
je 0x422f45
cmp edx, 0x6ea62d35
je 0x422f4c
cmp edx, 0x357c0107
jne 0x422f00
mov edx, eax
jmp 0x422f00
cmp edx, 0xff1c9814
je 0x422f50
cmp edx, 0x109365e3
jne 0x422f00
jmp 0x423745
mov edx, 0x109365e3
jmp 0x422f00
mov edx, ecx
jmp 0x422f00
mov edx, 0x357c0107
jmp 0x422f00
cmp ecx, 0xc8787b4c
je 0x423751
cmp ecx, 0xcc29281b
je 0x423783
cmp ecx, 0xcd4d9f63
jne 0x422a90
mov ecx, 0xb34f68bd
jmp 0x422a90
cmp ecx, 0x3f3f0ec8
je 0x42378d
cmp ecx, 0x3f68460c
je 0x4237ba
cmp ecx, 0x43fd409c
jne 0x422a90
mov ecx, 0xa5fd6f48
jmp 0x422a90
cmp ecx, 0xa9bf696b
je 0x4237c4
cmp ecx, 0xacaa1922
je 0x4237ce
cmp ecx, 0xae5a3126
jne 0x422a90
mov eax, dword [esp + 0x4c]
mov ecx, 0x450c2aa
jmp 0x422a90
cmp ecx, 0xfde611b
je 0x4237e0
cmp ecx, 0x137811e5
je 0x4237f0
cmp ecx, 0x184c4706
jne 0x422a90
mov ecx, 0xfd2a3e80
jmp 0x422a90
cmp ecx, 0xddc3f720
je 0x42381a
cmp ecx, 0xe46c3710
jne 0x422a90
mov ecx, 0xf3917f93
jmp 0x422a90
cmp ecx, 0x5fa8d497
je 0x423824
cmp ecx, 0x70a3f2b2
jne 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x3f68460c
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x184c4706
cmovne esi, ebx
test edx, ecx
mov edx, dword [esp + 0x40]
mov ecx, esi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, esi
mov dword [esp + 0x94], edx
jmp 0x422a90
cmp ecx, 0xa5fd6f48
je 0x42382e
cmp ecx, 0xa6afec29
jne 0x422a90
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x8c], eax
mov eax, 0x99e65b07
nop word cs:[eax + eax]
cmp eax, 0x99e65b07
je 0x4230e3
cmp eax, 0x29ee60f8
jne 0x4230d0
jmp 0x42387a
mov eax, 0x29ee60f8
jmp 0x4230d0
cmp ecx, 0x450c2aa
je 0x423896
cmp ecx, 0x8a1941f
jne 0x422a90
mov eax, dword [ebp + 0x14]
mov ecx, 0x31cfd9b5
add eax, 0x14
nop dword [eax]
cmp ecx, 0x31cfd9b5
je 0x423125
cmp ecx, 0x7ec8f6f7
jne 0x423110
jmp 0x4238c8
mov ecx, 0x7ec8f6f7
jmp 0x423110
cmp ecx, 0xd6bd7a1b
je 0x4238da
cmp ecx, 0xd721ef07
jne 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x7f198d69
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xb9018d6d
jmp 0x422a80
cmp ecx, 0x526a00fc
je 0x4238e4
cmp ecx, 0x56beb727
jne 0x422a90
mov eax, dword [ebp + 0x14]
mov ecx, 0x31cfd9b5
add eax, 0x14
nop dword [eax]
cmp ecx, 0x31cfd9b5
je 0x4231b5
cmp ecx, 0x7ec8f6f7
jne 0x4231a0
jmp 0x4238ee
mov ecx, 0x7ec8f6f7
jmp 0x4231a0
cmp ecx, 0xb9018d6d
je 0x42394b
cmp ecx, 0xc5d46efd
jne 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x5fa8d497
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xcc29281b
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
mov esi, dword [esp + 0x3c]
cmp eax, 0xa
cmovge ecx, edx
mov dword [esp + 0x88], esi
jmp 0x422a90
cmp ecx, 0x2c3aba80
je 0x423998
cmp ecx, 0x32d2337c
jne 0x422a90
mov eax, dword [esp + 0x8c]
mov ecx, 0xacaa1922
cmp eax, dword [esp + 0x90]
mov eax, 0xdbbc1cb4
cmova ecx, eax
jmp 0x422a90
cmp ecx, 0xefe5013b
je 0x4239dc
cmp ecx, 0xf20ad9fb
jne 0x422a90
mov ecx, 0x7cefd56a
jmp 0x422a90
cmp ecx, 0x7533d600
jne 0x4242ac
mov ecx, 0xb34f68bd
jmp 0x422a90
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, 0x6db18013
cmp eax, 0xf6e7c919
je 0x423a1b
cmp eax, 0x6db18013
jne 0x4232a0
mov eax, dword [esp + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, 0xf6e7c919
vmovsd qword [esp + 0x20], xmm0
jmp 0x4232a0
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.00427540
mov ecx, 0xfd564dfb
jmp 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0xd6bd7a1b
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xd3d7aff2
jmp 0x422a80
mov dword [esp + 0x20], edi
mov ecx, 0x19e6a91a
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], eax
mov edx, dword [0x4b0110]
mov edi, dword [0x4b010c]
mov eax, 0x2bc473f8
lea esi, [edx + 1]
imul esi, edx
mov edx, 0xe5a73c34
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
cmove edx, eax
sete bl
cmp edi, 0xa
mov eax, 0xe5a73c34
setl bh
cmovge edx, eax
mov eax, 0x2bc473f8
xor bh, bl
mov ebx, 0xe5a73c34
cmovne edx, eax
mov eax, 0xa9b8b94d
cmovne ebx, eax
cmp esi, 0xffffffff
mov esi, ebx
cmove esi, eax
cmp edi, 0xa
cmovge esi, ebx
nop word [eax + eax]
cmp ecx, 0x19e6a919
jle 0x4233c0
cmp ecx, 0x4db67868
je 0x4233d7
cmp ecx, 0x2bc473f8
je 0x423a31
cmp ecx, 0x19e6a91a
jne 0x423390
jmp 0x4233e0
cmp ecx, 0xa9b8b94d
je 0x4233db
cmp ecx, 0xe5a73c34
jne 0x423390
mov ecx, 0xa9b8b94d
jmp 0x423390
mov ecx, esi
jmp 0x423390
mov ecx, edx
jmp 0x423390
mov ecx, dword [esp + 0x1c]
call fcn.0040fde0
mov dword [esp + 0x2c], eax
mov ecx, 0x4db67868
jmp 0x42332a
mov eax, 0x99e65b07
nop dword [eax]
cmp eax, 0x99e65b07
je 0x423413
cmp eax, 0x29ee60f8
jne 0x423400
jmp 0x423ce7
mov eax, 0x29ee60f8
jmp 0x423400
lea edx, [ebp + 0xc]
movsx esi, byte [ebp + 0x18]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x94]
vmovsd xmm0, qword [esp + 0xb0]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004283b0
mov ecx, 0xefe5013b
mov dword [esp + 0x40], 0
jmp 0x422a90
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.00427540
mov esi, dword [0x4affb0]
mov edx, dword [0x4affac]
mov dword [esp + 0x80], eax
lea ecx, [esi - 1]
imul ecx, esi
mov esi, 0xdc40415f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xa9bf696b
cmovne esi, ebx
cmp ecx, 0xffffffff
mov ecx, esi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, esi
jmp 0x422a90
mov eax, dword [0x4affb0]
mov esi, 0xe46c3710
mov ebx, 0xd6bd7a1b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xd6bd7a1b
jmp 0x4239fe
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp eax, 1
mov eax, 0xacaa1922
sbb ecx, 0
mov ecx, 0xafa2d2e8
cmovl ecx, eax
jmp 0x422a90
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, 0x6db18013
nop word cs:[eax + eax]
cmp eax, 0xf6e7c919
je 0x423d3e
cmp eax, 0x6db18013
jne 0x423530
mov eax, dword [esp + 0x1c]
vmovsd xmm0, qword [eax]
mov eax, 0xf6e7c919
vmovsd qword [esp + 0x20], xmm0
jmp 0x423530
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
cmp ecx, 0x40
mov ecx, 0xeb9be8b8
setne byte [esp + 0x3b]
jmp 0x422a90
mov eax, dword [0x4affb0]
mov ebx, 0x98248d2a
mov esi, 0x137811e5
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x137811e5
jmp 0x423fa7
mov eax, dword [esp + 0x84]
mov edx, dword [0x4affa8]
mov esi, 0x10cd688c
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x4affa4], 0xa
setge dh
setl bl
or dh, cl
xor bl, dl
mov ecx, 0xacdf0096
not dh
or dh, bl
test dh, 1
mov edx, 0x61a7758
cmovne ecx, edx
mov edx, 0xacdf0096
cmovne edx, esi
mov esi, 0xc4315044
nop dword [eax + eax]
cmp esi, 0x61a7757
jle 0x423640
cmp esi, 0x61a7758
je 0x423654
cmp esi, 0x7d586c7a
je 0x423d58
cmp esi, 0x10cd688c
jne 0x423600
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
mov esi, dword [esi]
add esi, 0x1c
mov dword [esp + 0x20], esi
mov esi, ecx
jmp 0x423600
cmp esi, 0xacdf0096
je 0x42365b
cmp esi, 0xc4315044
jne 0x423600
mov esi, edx
jmp 0x423600
mov esi, 0x7d586c7a
jmp 0x423600
mov esi, 0x10cd688c
jmp 0x423600
mov eax, dword [esp + 0x64]
lea ecx, [ebp + 0xc]
mov dword [esp + 0x74], eax
movzx eax, byte [ebp + 0x18]
mov byte [esp + 0x3a], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0xbc], eax
mov eax, dword [ecx]
mov ecx, 0x28c7341f
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
jmp 0x422a90
mov eax, dword [0x4affb0]
mov esi, 0xc5d46efd
mov edi, 0xcc29281b
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xcc29281b
sete al
cmove ecx, esi
cmp dword [0x4affac], 0xa
cmovge ecx, edi
setl dl
lea edi, [esp + 0xf8]
jmp 0x423a11
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov ecx, 0x476cb513
jmp 0x422a90
mov eax, 0x89f08fd8
nop word cs:[eax + eax]
cmp eax, 0x596751f5
je 0x423e27
cmp eax, 0x89f08fd8
jne 0x423710
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, 0x596751f5
jmp 0x423710
mov ecx, 0x784d4806
jmp 0x422a90
lea esi, [esp + 0xc8]
jmp 0x423fcb
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x3f68460c
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x70a3f2b2
jmp 0x422a80
mov ecx, 0xc5d46efd
jmp 0x422a90
mov eax, 0x99e65b07
nop word cs:[eax + eax]
cmp eax, 0x99e65b07
je 0x4237b3
cmp eax, 0x29ee60f8
jne 0x4237a0
jmp 0x423e4b
mov eax, 0x29ee60f8
jmp 0x4237a0
mov ecx, 0x70a3f2b2
jmp 0x422a90
mov ecx, 0x4a027c6a
jmp 0x422a90
mov ecx, 0xcd4d9f63
mov dword [esp + 0x40], 0
jmp 0x422a90
mov ecx, edi
call fcn.00401310
mov ecx, dword [esp + 0x68]
jmp 0x422a90
mov eax, 0x99e65b07
nop word cs:[eax + eax]
cmp eax, 0x99e65b07
je 0x423813
cmp eax, 0x29ee60f8
jne 0x423800
jmp 0x423f47
mov eax, 0x29ee60f8
jmp 0x423800
mov ecx, 0x9abf2130
jmp 0x422a90
mov ecx, 0x8cb04ffc
jmp 0x422a90
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x74]
movsx edx, byte [esp + 0x3a]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
vmovsd xmm0, qword [esp + 0xb8]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], esi
mov dword [esp], edx
call edi
sub esp, 0x18
lea edi, [esp + 0xf8]
mov ecx, 0x784d4806
jmp 0x422a90
mov dword [esp + 0x20], edi
mov ecx, 0x32d2337c
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x90], eax
jmp 0x422a90
mov eax, dword [esp + 0x4c]
mov esi, 0x43fd409c
mov ebx, 0xae5a3126
mov eax, dword [eax + 0x24]
mov dword [esp + 0x7c], eax
mov eax, dword [0x4affb0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xae5a3126
jmp 0x4239fe
mov dword [esp + 0x20], eax
mov ecx, 0x56beb727
mov eax, dword [esp + 0x20]
jmp 0x422a90
mov ecx, 0xd3d7aff2
jmp 0x422a90
mov ecx, 0xd721ef07
jmp 0x422a90
mov esi, dword [0x4affb0]
mov dword [esp + 0x20], eax
mov edx, dword [0x4affac]
mov eax, dword [esp + 0x20]
lea ecx, [esi + 1]
imul ecx, esi
mov eax, dword [eax]
mov esi, 0x8a1941f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xddc3f720
cmovne esi, ebx
cmp ecx, 0xffffffff
mov ecx, esi
cmove ecx, ebx
cmp edx, 0xa
mov edx, eax
cmovge ecx, esi
xor edx, 0xffffbfff
and edx, eax
mov dword [esp + 0x70], edx
jmp 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x7f198d69
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xf20ad9fb
cmovne esi, ebx
test edx, ecx
mov edx, dword [esp + 0x48]
mov ecx, esi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, esi
mov dword [esp + 0x84], edx
jmp 0x422a90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x56beb727
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x8a1941f
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x422a90
mov eax, dword [0x4affb0]
mov esi, 0x5f186314
mov ebx, 0x3f3f0ec8
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x3f3f0ec8
sete al
cmove ecx, esi
cmp dword [0x4affac], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, esi
jmp 0x422a90
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ecx, 0xeb926696
mov dword [esp + 0x34], eax
jmp 0x422a90
mov eax, dword [esp + 0x2c]
lea esi, [ebp + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x30]
vmovsd xmm0, qword [esp + 0xa0]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
lea eax, [esp + 0xa8]
mov dword [esp], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
call fcn.00428830
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov ebx, 0x6a85a70a
mov edi, 0xd845b11a
mov dword [esp + 0x28], eax
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], ecx
mov dword [esp + 0x2c], ecx
mov esi, 0x4af5d5bb
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add eax, 0x20
mov dword [esp + 0xa8], eax
mov eax, dword [0x4b03d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x4b03cc], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x79a8b034
or cl, dl
mov edx, 0x6bac9d7
mov ecx, 0x6a85a70a
cmovne ebx, edx
cmovne edi, esi
mov esi, 0xd845b11a
mov edx, 0x96b0eedf
cmovne ecx, eax
cmovne esi, edx
mov edx, 0xd07a10cf
jmp 0x423b40
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0x1c]
mov edx, 0x96b0eedf
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
nop dword [eax]
mov eax, edx
cmp edx, 0x6bac9d6
jg 0x423b70
cmp eax, 0xd845b119
jg 0x423b90
cmp eax, 0x96b0eedf
je 0x423bb2
mov edx, eax
cmp eax, 0xd07a10cf
jne 0x423b40
mov edx, esi
jmp 0x423b40
cmp eax, 0x6a85a709
jg 0x423ba4
mov edx, ecx
cmp eax, 0x6bac9d7
je 0x423b40
mov edx, eax
cmp eax, 0x4af5d5bb
jne 0x423b40
mov edx, 0xe0838443
jmp 0x423b40
cmp eax, 0xd845b11a
je 0x423b1b
mov edx, eax
cmp eax, 0xe0838443
jne 0x423b40
mov edx, ebx
jmp 0x423b40
cmp eax, 0x6a85a70a
jne 0x423bdc
mov edx, 0x6bac9d7
jmp 0x423b40
mov eax, dword [esp + 0xa8]
mov edx, edi
vmovsd xmm0, qword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
vmovsd qword [esp + 0x20], xmm0
jmp 0x423b40
mov edx, eax
cmp eax, 0x79a8b034
jne 0x423b40
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
movsx esi, byte [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x30]
vmovsd xmm0, qword [esp + 0x98]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], esi
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
call fcn.004283b0
mov eax, dword [0x4b0430]
mov edx, 0x357c0107
lea edi, [esp + 0xf8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b042c], 0xa
setl cl
or cl, al
mov eax, 0xff1c9814
mov ecx, 0x1e613177
cmovne eax, ecx
mov ecx, 0xff1c9814
cmovne ecx, edx
mov edx, 0x6ea62d35
nop word cs:[eax + eax]
cmp edx, 0x1e613176
jle 0x423cc0
cmp edx, 0x1e613177
je 0x423cd5
cmp edx, 0x6ea62d35
je 0x423cdc
cmp edx, 0x357c0107
jne 0x423c90
mov edx, eax
jmp 0x423c90
cmp edx, 0xff1c9814
je 0x423ce0
cmp edx, 0x109365e3
jne 0x423c90
jmp 0x423f78
mov edx, 0x109365e3
jmp 0x423c90
mov edx, ecx
jmp 0x423c90
mov edx, 0x357c0107
jmp 0x423c90
mov edx, dword [0x4affb0]
mov eax, dword [0x4affac]
mov esi, 0x7533d600
mov dword [esp + 0x20], edi
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x137811e5
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
mov esi, dword [esp + 0x20]
cmp eax, 0xa
cmovge ecx, edx
mov edx, dword [esp + 0x34]
sub edx, dword [esi + 0x10]
mov dword [esp + 0x40], edx
jmp 0x422a90
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
mov ecx, 0xa6afec29
jmp 0x422a90
mov eax, dword [esp + 0x20]
lea esi, [esp + 0xe0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c]
mov dword [esp], esi
call eax
sub esp, 4
mov ecx, edi
mov dword [esp], esi
call fcn.004377d0
sub esp, 4
mov eax, dword [0x4b0430]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4b042c], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xff1c9814
or cl, dl
mov ecx, 0x1e613177
mov edx, 0x357c0107
cmovne eax, ecx
mov ecx, 0xff1c9814
cmovne ecx, edx
mov edx, 0x6ea62d35
nop dword [eax + eax]
cmp edx, 0x1e613176
jle 0x423e00
cmp edx, 0x1e613177
je 0x423e15
cmp edx, 0x6ea62d35
je 0x423e1c
cmp edx, 0x357c0107
jne 0x423dd0
mov edx, eax
jmp 0x423dd0
cmp edx, 0xff1c9814
je 0x423e20
cmp edx, 0x109365e3
jne 0x423dd0
jmp 0x423fc4
mov edx, 0x109365e3
jmp 0x423dd0
mov edx, ecx
jmp 0x423dd0
mov edx, 0x357c0107
jmp 0x423dd0
mov eax, dword [esp + 0x20]
lea edx, [esp + 0xc8]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp], edx
call eax
sub esp, 4
mov ecx, 0xf6b2a9e0
jmp 0x422a90
mov dword [esp + 0x20], edi
mov ecx, 0x19e6a91a
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], eax
mov edx, dword [0x4b0110]
mov eax, dword [0x4b010c]
lea esi, [edx - 1]
lea edi, [edx + 1]
mov dword [esp + 0x28], eax
imul esi, edx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete bh
imul edi, edx
mov edx, 0xe5a73c34
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, 0xa9b8b94d
cmove edx, edi
sete ah
cmp dword [esp + 0x28], 0xa
mov edi, 0xe5a73c34
setl al
cmovge edx, edi
xor bh, al
mov ebx, 0x2bc473f8
cmovne edi, ebx
cmp esi, 0xffffffff
mov esi, edi
cmove esi, ebx
cmp dword [esp + 0x28], 0xa
cmovge esi, edi
xor ah, al
mov eax, 0xa9b8b94d
cmovne edx, eax
nop word cs:[eax + eax]
cmp ecx, 0x19e6a919
jle 0x423f10
cmp ecx, 0x4db67868
je 0x423f27
cmp ecx, 0x2bc473f8
je 0x423fe3
cmp ecx, 0x19e6a91a
jne 0x423ee0
jmp 0x423f30
cmp ecx, 0xa9b8b94d
je 0x423f2b
cmp ecx, 0xe5a73c34
jne 0x423ee0
mov ecx, 0xa9b8b94d
jmp 0x423ee0
mov ecx, edx
jmp 0x423ee0
mov ecx, esi
jmp 0x423ee0
mov ecx, dword [esp + 0x1c]
call fcn.0040fde0
mov dword [esp + 0x6c], eax
mov ecx, 0x4db67868
jmp 0x423e63
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
sub ecx, dword [eax + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, 0x98248d2a
jmp 0x422a90
mov ecx, edi
call fcn.0040a040
mov ecx, edi
call fcn.0040a340
mov eax, dword [0x4affb0]
mov ebx, 0xd48545d8
mov esi, 0x3f3f0ec8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x3f3f0ec8
sete al
cmove ecx, ebx
cmp dword [0x4affac], 0xa
setl dl
cmovge ecx, esi
xor dl, al
cmovne ecx, ebx
jmp 0x422a90
lea esi, [esp + 0xe0]
mov ecx, esi
call fcn.0040a040
mov ecx, esi
call fcn.0040a340
mov ecx, 0x8c397b60
jmp 0x422a90
mov eax, dword [esp + 0x6c]
lea esi, [ebp + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x30]
vmovsd xmm0, qword [esp + 0xa0]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], eax
lea eax, [esp + 0xa8]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 0x14], edx
call fcn.00428830
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov ebx, 0x6a85a70a
mov edx, 0x6bac9d7
mov edi, 0xd845b11a
mov dword [esp + 0x28], eax
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 4], ecx
mov dword [esp + 0x2c], ecx
mov esi, 0x79a8b034
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
add eax, 0x20
mov dword [esp + 0xa8], eax
mov eax, dword [0x4b03d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4b03cc], 0xa
setl cl
or cl, al
mov ecx, 0x6a85a70a
cmovne ecx, esi
mov esi, 0x4af5d5bb
cmovne ebx, edx
mov edx, 0x96b0eedf
cmovne edi, esi
mov esi, 0xd845b11a
cmovne esi, edx
mov edx, 0xd07a10cf
jmp 0x4240f0
mov eax, dword [esp + 0xa8]
mov eax, dword [esp + 0x1c]
mov edx, 0x96b0eedf
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
nop word cs:[eax + eax]
mov eax, edx
cmp edx, 0x6bac9d6
jg 0x424120
cmp eax, 0xd845b119
jg 0x424140
cmp eax, 0x96b0eedf
je 0x424166
mov edx, eax
cmp eax, 0xd07a10cf
jne 0x4240f0
mov edx, esi
jmp 0x4240f0
cmp eax, 0x6a85a709
jg 0x424158
mov edx, ecx
cmp eax, 0x6bac9d7
je 0x4240f0
mov edx, eax
cmp eax, 0x4af5d5bb
jne 0x4240f0
mov edx, 0xe0838443
jmp 0x4240f0
cmp eax, 0xd845b11a
je 0x4240c5
mov edx, eax
cmp eax, 0xe0838443
jne 0x4240f0
mov edx, ebx
jmp 0x4240f0
cmp eax, 0x6a85a70a
jne 0x424190
mov edx, 0x6bac9d7
jmp 0x4240f0
mov eax, dword [esp + 0xa8]
mov edx, edi
vmovsd xmm0, qword [eax]
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
vmovsd qword [esp + 0x20], xmm0
jmp 0x4240f0
mov edx, eax
cmp eax, 0x79a8b034
jne 0x4240f0
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
movsx esi, byte [ebp + 0x18]
mov edx, dword [ebp + 8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x30]
vmovsd xmm0, qword [esp + 0x98]
vmovsd qword [esp + 8], xmm0
mov dword [esp + 0x10], esi
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
call fcn.004283b0
mov ecx, dword [0x4b0430]
lea edi, [esp + 0xf8]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4b042c], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xff1c9814
not dl
or dl, ch
mov ecx, 0x1e613177
test dl, 1
mov edx, 0x357c0107
cmovne eax, ecx
mov ecx, 0xff1c9814
cmovne ecx, edx
mov edx, 0x6ea62d35
nop dword [eax]
cmp edx, 0x1e613176
jle 0x424270
cmp edx, 0x1e613177
je 0x424282
cmp edx, 0x6ea62d35
je 0x424289
cmp edx, 0x357c0107
jne 0x424240
mov edx, eax
jmp 0x424240
cmp edx, 0xff1c9814
je 0x42428d
cmp edx, 0x109365e3
jne 0x424240
jmp 0x424294
mov edx, 0x109365e3
jmp 0x424240
mov edx, ecx
jmp 0x424240
mov edx, 0x357c0107
jmp 0x424240
mov ecx, edi
call fcn.0040a040
mov ecx, edi
call fcn.0040a340
mov ecx, 0x5f186314
jmp 0x422a90
cmp ecx, 0x784d4806
jne 0x422a90
mov ecx, dword [esp + 0x110]
xor ecx, ebp
call fcn.00439c00
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18