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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x84
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x84], eax
mov eax, dword [0x439080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43a544]
mov eax, dword [0x43a540]
mov edx, ecx
sub edx, 0x8e51237a
sub edx, 1
add edx, 0x8e51237a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x7a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x79], al
mov dword [ebp - 0x80], 0xdf924e47
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
sub eax, 0x849dfea2
je 0x409ce4
jmp 0x4093d1
mov eax, dword [ebp - 0x8c]
sub eax, 0x8cb9efff
je 0x409daa
jmp 0x4093e7
mov eax, dword [ebp - 0x8c]
sub eax, 0x95dbd635
je 0x409a0e
jmp 0x4093fd
mov eax, dword [ebp - 0x8c]
sub eax, 0x98aaf5e1
je 0x409dcb
jmp 0x409413
mov eax, dword [ebp - 0x8c]
sub eax, 0xaa73bf3f
je 0x409b6f
jmp 0x409429
mov eax, dword [ebp - 0x8c]
sub eax, 0xabb603fb
je 0x40997a
jmp 0x40943f
mov eax, dword [ebp - 0x8c]
sub eax, 0xb5a2cb8e
je 0x409a29
jmp 0x409455
mov eax, dword [ebp - 0x8c]
sub eax, 0xba3d2b49
je 0x409e48
jmp 0x40946b
mov eax, dword [ebp - 0x8c]
sub eax, 0xbfce2180
je 0x4098f9
jmp 0x409481
mov eax, dword [ebp - 0x8c]
sub eax, 0xbfd1d907
je 0x40995b
jmp 0x409497
mov eax, dword [ebp - 0x8c]
sub eax, 0xc09a70af
je 0x409d3c
jmp 0x4094ad
mov eax, dword [ebp - 0x8c]
sub eax, 0xc22fef8f
je 0x409805
jmp 0x4094c3
mov eax, dword [ebp - 0x8c]
sub eax, 0xc479eddf
je 0x409d87
jmp 0x4094d9
mov eax, dword [ebp - 0x8c]
sub eax, 0xc5b78ee1
je 0x409a5f
jmp 0x4094ef
mov eax, dword [ebp - 0x8c]
sub eax, 0xc97c6fee
je 0x409e36
jmp 0x409505
mov eax, dword [ebp - 0x8c]
sub eax, 0xdbbc1f50
je 0x409d73
jmp 0x40951b
mov eax, dword [ebp - 0x8c]
sub eax, 0xdf924e47
je 0x409704
jmp 0x409531
mov eax, dword [ebp - 0x8c]
sub eax, 0xe40aeebd
je 0x409db6
jmp 0x409547
mov eax, dword [ebp - 0x8c]
sub eax, 0xf089c424
je 0x409e97
jmp 0x40955d
mov eax, dword [ebp - 0x8c]
sub eax, 0xf0e9bad9
je 0x409e54
jmp 0x409573
mov eax, dword [ebp - 0x8c]
sub eax, 0xf2a5ab7a
je 0x409c92
jmp 0x409589
mov eax, dword [ebp - 0x8c]
sub eax, 0xf2dc7630
je 0x40988e
jmp 0x40959f
mov eax, dword [ebp - 0x8c]
sub eax, 0x97ff482
je 0x409bfd
jmp 0x4095b5
mov eax, dword [ebp - 0x8c]
sub eax, 0xe074b8f
je 0x409d67
jmp 0x4095cb
mov eax, dword [ebp - 0x8c]
sub eax, 0x1b5b75ff
je 0x4097f9
jmp 0x4095e1
mov eax, dword [ebp - 0x8c]
sub eax, 0x21bcad82
je 0x409c9e
jmp 0x4095f7
mov eax, dword [ebp - 0x8c]
sub eax, 0x25b80412
je 0x409ad2
jmp 0x40960d
mov eax, dword [ebp - 0x8c]
sub eax, 0x29772bab
je 0x409e0c
jmp 0x409623
mov eax, dword [ebp - 0x8c]
sub eax, 0x29e6fb5d
je 0x40974f
jmp 0x409639
mov eax, dword [ebp - 0x8c]
sub eax, 0x2c14462d
je 0x409b8a
jmp 0x40964f
mov eax, dword [ebp - 0x8c]
sub eax, 0x371ed334
je 0x409d48
jmp 0x409665
mov eax, dword [ebp - 0x8c]
sub eax, 0x38e18e4d
je 0x409a45
jmp 0x40967b
mov eax, dword [ebp - 0x8c]
sub eax, 0x3dcde99b
je 0x409857
jmp 0x409691
mov eax, dword [ebp - 0x8c]
sub eax, 0x4327039a
je 0x409dd7
jmp 0x4096a7
mov eax, dword [ebp - 0x8c]
sub eax, 0x4c9085d0
je 0x409deb
jmp 0x4096bd
mov eax, dword [ebp - 0x8c]
sub eax, 0x4ff4cd2a
je 0x40994f
jmp 0x4096d3
mov eax, dword [ebp - 0x8c]
sub eax, 0x67ca3224
je 0x4099c0
jmp 0x4096e9
mov eax, dword [ebp - 0x8c]
sub eax, 0x7b34be11
je 0x409e7f
jmp 0x4096ff
jmp 0x409ea2
mov bl, byte [ebp - 0x7a]
mov dh, byte [ebp - 0x79]
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, 0x29772bab
mov ecx, 0x29e6fb5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x88]
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x74]
mov dword [eax], edx
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [0x43a544]
mov ecx, dword [0x43a540]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0x29772bab
mov ecx, 0x1b5b75ff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov dword [ebp - 0x80], 0xc22fef8f
jmp 0x409ea2
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add ecx, dword [eax + 0x78]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x80], 0x3dcde99b
jmp 0x409ea2
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x24]
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov dword [ebp - 0x80], 0xf2dc7630
jmp 0x409ea2
mov ecx, dword [0x43a544]
mov eax, dword [0x43a540]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
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, 0xc97c6fee
mov ecx, 0xbfce2180
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x43a544]
mov ecx, dword [0x43a540]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xc97c6fee
mov ecx, 0x4ff4cd2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov dword [ebp - 0x80], 0xbfd1d907
jmp 0x409ea2
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setb al
and al, 1
mov byte [ebp - 0x39], al
mov dword [ebp - 0x80], 0xabb603fb
jmp 0x409ea2
mov eax, dword [0x43a544]
mov ecx, dword [0x43a540]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xba3d2b49
mov ecx, 0x67ca3224
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov eax, dword [0x43a544]
mov ecx, dword [0x43a540]
mov edx, eax
sub edx, 0x3f66d09d
sub edx, 1
add edx, 0x3f66d09d
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, 0xba3d2b49
mov ecx, 0x95dbd635
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov dl, byte [ebp - 0x39]
mov eax, 0xe40aeebd
mov ecx, 0xb5a2cb8e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x80], 0x38e18e4d
jmp 0x409ea2
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x80], 0xc5b78ee1
jmp 0x409ea2
mov ecx, dword [0x43a544]
mov eax, dword [0x43a540]
mov edx, ecx
sub edx, 0xd12c36b0
sub edx, 1
add edx, 0xd12c36b0
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, 0xf0e9bad9
mov ecx, 0x25b80412
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
add edx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00426680
add esp, 8
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x43a544]
mov eax, dword [0x43a540]
mov edx, ecx
sub edx, 0x9f0f2002
sub edx, 1
add edx, 0x9f0f2002
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, 0xf0e9bad9
mov ecx, 0xaa73bf3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov dl, byte [ebp - 0x29]
mov eax, 0xe074b8f
mov ecx, 0x2c14462d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov ecx, dword [0x43a544]
mov eax, dword [0x43a540]
mov edx, ecx
add edx, 0x2c45b280
sub edx, 1
sub edx, 0x2c45b280
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, 0x7b34be11
mov ecx, 0x97ff482
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
mov ax, word [eax + ecx*2]
mov word [ebp - 0x1e], ax
mov ecx, dword [0x43a544]
mov eax, dword [0x43a540]
mov edx, ecx
add edx, 0xcc6eb54c
sub edx, 1
sub edx, 0xcc6eb54c
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, 0x7b34be11
mov ecx, 0xf2a5ab7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov dword [ebp - 0x80], 0x21bcad82
jmp 0x409ea2
mov eax, dword [0x43a544]
mov ecx, dword [0x43a540]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
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, 0xf089c424
mov ecx, 0x849dfea2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov ax, word [ebp - 0x1e]
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [0x43a544]
mov ecx, dword [0x43a540]
mov edx, eax
add edx, 0xc783121e
sub edx, 1
sub edx, 0xc783121e
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, 0xf089c424
mov ecx, 0xc09a70af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x80], eax
jmp 0x409ea2
mov dword [ebp - 0x80], 0x371ed334
jmp 0x409ea2
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x80], 0x4327039a
jmp 0x409ea2
mov dword [ebp - 0x80], 0xdbbc1f50
jmp 0x409ea2
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x80], 0xc479eddf
jmp 0x409ea2
mov ecx, dword [ebp - 0x18]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov dword [ebp - 0x80], 0x8cb9efff
jmp 0x409ea2
mov dword [ebp - 0x80], 0xf2dc7630
jmp 0x409ea2
mov eax, dword [ebp - 0x78]
mov dword [eax], 0
mov dword [ebp - 0x80], 0x98aaf5e1
jmp 0x409ea2
mov dword [ebp - 0x80], 0x4327039a
jmp 0x409ea2
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x80], 0x4c9085d0
jmp 0x409ea2
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00422090
mov eax, dword [ebp - 0x90]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x88]
push eax
push eax
mov esi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
mov dword [ebp - 0x80], 0x29e6fb5d
jmp 0x409ea2
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x80], 0xbfce2180
jmp 0x409ea2
mov dword [ebp - 0x80], 0x67ca3224
jmp 0x409ea2
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
add edx, eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.00426680
add esp, 8
mov dword [ebp - 0x80], 0x25b80412
jmp 0x409ea2
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x80], 0x97ff482
jmp 0x409ea2
mov ax, word [ebp - 0x1e]
mov dword [ebp - 0x80], 0x849dfea2
jmp 0x4093b8