Function at 0x40f120
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 + 0x20], ecx
mov eax, dword [ebp + 8]
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
mov al, byte [ebp + 0x18]
mov byte [esi + 0x2f], al
vmovsd xmm0, qword [ebp + 0x10]
vmovsd qword [esi + 0x30], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [0x445080]
xor eax, ebp
mov dword [esi + 0x90], eax
mov dword [esi + 0x44], 0xd402089b
mov eax, dword [esi + 0x44]
mov dword [esi + 0x1c], eax
sub eax, 0x80fc1121
je 0x40fa37
jmp 0x40f17d
mov eax, dword [esi + 0x1c]
sub eax, 0x922eebe1
je 0x40f7b8
jmp 0x40f190
mov eax, dword [esi + 0x1c]
sub eax, 0x99fd45ec
je 0x40f654
jmp 0x40f1a3
mov eax, dword [esi + 0x1c]
sub eax, 0x9a2c29de
je 0x40f668
jmp 0x40f1b6
mov eax, dword [esi + 0x1c]
sub eax, 0x9a786dad
je 0x40fa99
jmp 0x40f1c9
mov eax, dword [esi + 0x1c]
sub eax, 0xaac80636
je 0x40fb53
jmp 0x40f1dc
mov eax, dword [esi + 0x1c]
sub eax, 0xb53cc83a
je 0x40f889
jmp 0x40f1ef
mov eax, dword [esi + 0x1c]
sub eax, 0xb55147f4
je 0x40fc7d
jmp 0x40f202
mov eax, dword [esi + 0x1c]
sub eax, 0xbf4482c7
je 0x40f769
jmp 0x40f215
mov eax, dword [esi + 0x1c]
sub eax, 0xc13dd038
je 0x40f87d
jmp 0x40f228
mov eax, dword [esi + 0x1c]
sub eax, 0xc7d58bc0
je 0x40fbdf
jmp 0x40f23b
mov eax, dword [esi + 0x1c]
sub eax, 0xcb99cf6f
je 0x40fa78
jmp 0x40f24e
mov eax, dword [esi + 0x1c]
sub eax, 0xd38b2cbe
je 0x40f6f6
jmp 0x40f261
mov eax, dword [esi + 0x1c]
sub eax, 0xd402089b
je 0x40f47a
jmp 0x40f274
mov eax, dword [esi + 0x1c]
sub eax, 0xd6fc6c01
je 0x40f986
jmp 0x40f287
mov eax, dword [esi + 0x1c]
sub eax, 0xe906df5c
je 0x40fc8f
jmp 0x40f29a
mov eax, dword [esi + 0x1c]
sub eax, 0xf0b4f65d
je 0x40f904
jmp 0x40f2ad
mov eax, dword [esi + 0x1c]
sub eax, 0xf4080663
je 0x40fad4
jmp 0x40f2c0
mov eax, dword [esi + 0x1c]
sub eax, 0xf82df280
je 0x40f775
jmp 0x40f2d3
mov eax, dword [esi + 0x1c]
sub eax, 0xfbc3c747
je 0x40fbf7
jmp 0x40f2e6
mov eax, dword [esi + 0x1c]
sub eax, 0xfd87cdac
je 0x40f789
jmp 0x40f2f9
mov eax, dword [esi + 0x1c]
sub eax, 0xfd99a6ff
je 0x40f633
jmp 0x40f30c
mov eax, dword [esi + 0x1c]
sub eax, 0xfe6ec5d9
je 0x40f8e3
jmp 0x40f31f
mov eax, dword [esi + 0x1c]
sub eax, 0xbc9baad
je 0x40f683
jmp 0x40f332
mov eax, dword [esi + 0x1c]
sub eax, 0xf645a80
je 0x40f91b
jmp 0x40f345
mov eax, dword [esi + 0x1c]
sub eax, 0x1c2bd47d
je 0x40fc5d
jmp 0x40f358
mov eax, dword [esi + 0x1c]
sub eax, 0x1ed74e3d
je 0x40fbeb
jmp 0x40f36b
mov eax, dword [esi + 0x1c]
sub eax, 0x26f9093b
je 0x40fa2b
jmp 0x40f37e
mov eax, dword [esi + 0x1c]
sub eax, 0x28a98c2d
je 0x40fa0d
jmp 0x40f391
mov eax, dword [esi + 0x1c]
sub eax, 0x3e795d48
je 0x40fc17
jmp 0x40f3a4
mov eax, dword [esi + 0x1c]
sub eax, 0x45138676
je 0x40f7ac
jmp 0x40f3b7
mov eax, dword [esi + 0x1c]
sub eax, 0x4514cbde
je 0x40fa8d
jmp 0x40f3ca
mov eax, dword [esi + 0x1c]
sub eax, 0x48618bbc
je 0x40fae0
jmp 0x40f3dd
mov eax, dword [esi + 0x1c]
sub eax, 0x4b98f62f
je 0x40fab6
jmp 0x40f3f0
mov eax, dword [esi + 0x1c]
sub eax, 0x4dd3876c
je 0x40f823
jmp 0x40f403
mov eax, dword [esi + 0x1c]
sub eax, 0x4f34c07e
je 0x40fc51
jmp 0x40f416
mov eax, dword [esi + 0x1c]
sub eax, 0x509e9341
je 0x40f5ed
jmp 0x40f429
mov eax, dword [esi + 0x1c]
sub eax, 0x509f3abd
je 0x40f8f8
jmp 0x40f43c
mov eax, dword [esi + 0x1c]
sub eax, 0x53de7c37
je 0x40fa4e
jmp 0x40f44f
mov eax, dword [esi + 0x1c]
sub eax, 0x727d6348
je 0x40fa6c
jmp 0x40f462
mov eax, dword [esi + 0x1c]
sub eax, 0x7e99e782
je 0x40f648
jmp 0x40f475
jmp 0x40fcaf
mov edi, dword [esi + 0x3c]
vmovsd xmm0, qword [esi + 0x30]
push eax
mov ecx, esp
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [esi + 8], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x50], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x14], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x18], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x60], eax
push eax
mov eax, esp
mov dword [esi + 0x64], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x68], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x70], eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x48], eax
mov al, byte [esi + 0x2f]
and al, 1
mov byte [ecx], al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x20]
vmovsd qword [ebx], xmm0
mov dword [edx], edi
mov dword [eax], ecx
mov ecx, dword [esi + 0x4c]
lea eax, str.tgntxnpsptrcpprizfhbavoikbeeqvuzsoimbbryxlevthbytdbuwuoigdzgwrlicirqicxqwtpxvownersxq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov ecx, dword [esi + 0x50]
lea eax, str.rwywnzgwjydnhldatgiumigpbfjxfxtkrkkeilzevsbnbghnsejykmfoolbqtmdolxlprsklwyq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov ecx, dword [esi + 0x54]
lea eax, str.wdqsgrpqsqqwznpcemhijdgfvqewplgmqwiztxogkrkyliozljtllttjdfrpabcufvratpvzclzeuxewefqtcewdym
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [edx], 0xbca
vmovsd xmm0, qword [0x43d2b0]
vmovsd qword [ecx], xmm0
vmovsd xmm0, qword [0x43d2a8]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x58]
lea eax, str.abgiajgkwwqqqjvahsevcuaxtoeyxarluzoqtqdzqkwmvpbxieonaqdrwzthyqgnkub
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [0x43d2a0]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x5c]
lea eax, str.tgntxnpsptrcpprizfhbavoikbeeqvuzsoimbbryxlevthbytdbuwuoigdzgwrlicirqicxqwtpxvownersxq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov ecx, dword [esi + 0x60]
lea eax, str.tgntxnpsptrcpprizfhbavoikbeeqvuzsoimbbryxlevthbytdbuwuoigdzgwrlicirqicxqwtpxvownersxq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov dword [esi + 0x44], 0x509e9341
jmp 0x40fcaf
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x60]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004226c0
add esp, 8
mov byte [esi + 7], al
mov ecx, dword [esi + 0x60]
call fcn.004228e0
mov ecx, dword [esi + 0x5c]
call fcn.004228e0
mov dl, byte [esi + 7]
mov eax, 0x922eebe1
mov ecx, 0xfd99a6ff
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov eax, dword [esi + 0x64]
mov dword [eax], 0x47
mov dword [esi + 0x44], 0x7e99e782
jmp 0x40fcaf
mov dword [esi + 0x44], 0x99fd45ec
jmp 0x40fcaf
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov dword [esi + 0x78], eax
mov dword [esi + 0x44], 0x9a2c29de
jmp 0x40fcaf
mov edx, dword [esi + 0x78]
mov eax, 0x45138676
mov ecx, 0xbc9baad
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
mov edx, ecx
sub edx, 0x50d02ea9
sub edx, 1
add edx, 0x50d02ea9
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x4f34c07e
mov ecx, 0xd38b2cbe
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
mov edx, ecx
add edx, 0xc03ec754
sub edx, 1
sub edx, 0xc03ec754
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x4f34c07e
mov ecx, 0xbf4482c7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov dword [esi + 0x44], 0xf82df280
jmp 0x40fcaf
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x44], 0xfd87cdac
jmp 0x40fcaf
mov ecx, dword [esi + 0x7c]
add ecx, 0x375ef974
add ecx, 0xffffffff
sub ecx, 0x375ef974
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov dword [esi + 0x44], 0x99fd45ec
jmp 0x40fcaf
mov dword [esi + 0x44], 0x922eebe1
jmp 0x40fcaf
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x1c2bd47d
mov ecx, 0x4dd3876c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov ecx, dword [esi + 0x68]
lea eax, str.tgntxnpsptrcpprizfhbavoikbeeqvuzsoimbbryxlevthbytdbuwuoigdzgwrlicirqicxqwtpxvownersxq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov eax, dword [0x4465c4]
mov ecx, dword [0x4465c0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x1c2bd47d
mov ecx, 0xc13dd038
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov dword [esi + 0x44], 0xb53cc83a
jmp 0x40fcaf
mov ecx, dword [esi + 0x6c]
lea eax, str.tgntxnpsptrcpprizfhbavoikbeeqvuzsoimbbryxlevthbytdbuwuoigdzgwrlicirqicxqwtpxvownersxq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004226c0
add esp, 8
mov byte [esi + 6], al
mov ecx, dword [esi + 0x6c]
call fcn.004228e0
mov ecx, dword [esi + 0x68]
call fcn.004228e0
mov dl, byte [esi + 6]
mov eax, 0xcb99cf6f
mov ecx, 0xfe6ec5d9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov eax, dword [esi + 0x70]
mov dword [eax], 0x3e
mov dword [esi + 0x44], 0x509f3abd
jmp 0x40fcaf
mov dword [esi + 0x44], 0xf0b4f65d
jmp 0x40fcaf
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov dword [esi + 0x44], 0xf645a80
jmp 0x40fcaf
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xb55147f4
mov ecx, 0xd6fc6c01
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov eax, dword [esi + 0x80]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x87], al
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
mov edx, ecx
sub edx, 0x44654b32
sub edx, 1
add edx, 0x44654b32
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xb55147f4
mov ecx, 0x28a98c2d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov dl, byte [esi + 0x87]
mov eax, 0x727d6348
mov ecx, 0x26f9093b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov dword [esi + 0x44], 0x80fc1121
jmp 0x40fcaf
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov dword [esi + 0x44], 0x53de7c37
jmp 0x40fcaf
mov ecx, dword [esi + 0x88]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x70]
mov dword [eax], ecx
mov dword [esi + 0x44], 0xf0b4f65d
jmp 0x40fcaf
mov dword [esi + 0x44], 0xcb99cf6f
jmp 0x40fcaf
mov eax, dword [esi + 0x74]
mov dword [eax], 5
mov dword [esi + 0x44], 0x4514cbde
jmp 0x40fcaf
mov dword [esi + 0x44], 0x9a786dad
jmp 0x40fcaf
mov eax, dword [esi + 0x74]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x8f], al
mov dword [esi + 0x44], 0x4b98f62f
jmp 0x40fcaf
mov dl, byte [esi + 0x8f]
mov eax, 0xfbc3c747
mov ecx, 0xf4080663
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov dword [esi + 0x44], 0x48618bbc
jmp 0x40fcaf
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
mov edx, ecx
sub edx, 0x22dd63cf
sub edx, 1
add edx, 0x22dd63cf
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xe906df5c
mov ecx, 0xaac80636
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
add ecx, 0xa77381fc
add ecx, 0xffffffff
sub ecx, 0xa77381fc
mov eax, dword [esi + 0x74]
mov dword [eax], ecx
mov ecx, dword [0x4465c4]
mov eax, dword [0x4465c0]
mov edx, ecx
add edx, 0xae678499
sub edx, 1
sub edx, 0xae678499
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xe906df5c
mov ecx, 0xc7d58bc0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x44], eax
jmp 0x40fcaf
mov dword [esi + 0x44], 0x1ed74e3d
jmp 0x40fcaf
mov dword [esi + 0x44], 0x9a786dad
jmp 0x40fcaf
mov ecx, dword [esi + 0x24]
lea eax, str.rfgtriugq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov dword [esi + 0x44], 0x3e795d48
jmp 0x40fcaf
mov ecx, dword [esi + 0x58]
call fcn.004228e0
mov ecx, dword [esi + 0x54]
call fcn.004228e0
mov ecx, dword [esi + 0x50]
call fcn.004228e0
mov ecx, dword [esi + 0x4c]
call fcn.004228e0
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.0042d620
mov eax, dword [esi + 0x28]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov dword [esi + 0x44], 0xd38b2cbe
jmp 0x40fcaf
mov ecx, dword [esi + 0x68]
lea eax, str.tgntxnpsptrcpprizfhbavoikbeeqvuzsoimbbryxlevthbytdbuwuoigdzgwrlicirqicxqwtpxvownersxq
sub esp, 4
mov dword [esp], eax
call fcn.004224c0
mov dword [esi + 0x44], 0x4dd3876c
jmp 0x40fcaf
mov eax, dword [esi + 0x80]
mov dword [esi + 0x44], 0xd6fc6c01
jmp 0x40fcaf
mov eax, dword [esi + 0x74]
mov ecx, dword [eax]
add ecx, 0x26cefbc
add ecx, 0xffffffff
sub ecx, 0x26cefbc
mov eax, dword [esi + 0x74]
mov dword [eax], ecx
mov dword [esi + 0x44], 0xaac80636
jmp 0x40f167