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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x358
mov eax, dword [ebp + 0x20]
lea edx, [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x310]
mov dword [esp + 0x160], eax
lea eax, [0x1014f560]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x34c], eax
mov dword [esp + 0x348], esi
mov dword [esp + 0x344], edi
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x340]
mov dword [esp], ebx
mov esi, dword [esp + 0x15c]
mov dword [esp + 4], esi
mov dword [esp + 0x158], ecx
mov dword [esp + 0x154], edx
call fcn.10065f00
lea eax, [esp + 0x328]
lea ecx, [esp + 0x310]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.100d2b10
lea ecx, [esp + 0x310]
call fcn.1002b850
lea ecx, [esp + 0x2d8]
lea eax, [0x1014f5b8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10065f00
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x8a5795e8
sub edx, 1
add edx, 0x8a5795e8
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10051330
jmp 0x10052cf8
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x71e06b89
sub esi, 1
add esi, 0x71e06b89
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x100513a6
jmp 0x10052cf8
lea eax, [esp + 0x2f0]
lea ecx, [esp + 0x2d8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.100d2b10
lea ecx, [esp + 0x2d8]
call fcn.1002b850
lea ecx, [esp + 0x2a8]
lea eax, [0x1014f61c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10065f00
lea eax, [esp + 0x2c0]
lea ecx, [esp + 0x2a8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.100d2b10
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x10051470
jmp 0x10052cfd
lea ecx, [esp + 0x2a8]
call fcn.1002b850
mov ecx, dword [0x101537c8]
mov eax, dword [0x101537c4]
mov edx, ecx
add edx, 0xe87ec80
sub edx, 1
sub edx, 0xe87ec80
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x100514ca
jmp 0x10052cfd
lea eax, [esp + 0x278]
lea ecx, [0x1014f634]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.10065f00
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x1cf19bc5
sub edx, 1
add edx, 0x1cf19bc5
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10051530
jmp 0x10052d0e
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x21352d07
sub esi, 1
sub esi, 0x21352d07
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x100515a6
jmp 0x10052d0e
lea eax, [esp + 0x290]
lea ecx, [esp + 0x278]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.100d2b10
lea ecx, [esp + 0x278]
call fcn.1002b850
lea ecx, [esp + 0x248]
lea eax, [0x1014f66c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10065f00
lea eax, [esp + 0x260]
lea ecx, [esp + 0x248]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.100d2b10
lea ecx, [esp + 0x248]
call fcn.1002b850
lea ecx, [esp + 0x218]
lea eax, [0x1014f740]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10065f00
lea eax, [esp + 0x230]
lea ecx, [esp + 0x218]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.100d2b10
lea ecx, [esp + 0x218]
call fcn.1002b850
lea ecx, [esp + 0x200]
mov eax, dword [esp + 0x344]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008ca00
lea eax, [esp + 0x180]
mov ecx, 0
mov edx, 0x80
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x80
mov dword [esp + 0x150], eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x148], edx
call fcn.10020350
mov eax, dword [0x10150110]
mov ecx, esp
mov edx, dword [esp + 0x150]
mov dword [ecx + 4], edx
mov esi, dword [esp + 0x154]
mov dword [ecx], esi
mov dword [ecx + 8], 0x40
call eax
sub esp, 0xc
mov dword [esp + 0x144], eax
mov eax, 0xffffffff
mov ecx, dword [esp + 0x34c]
xor eax, 1
mov edx, ecx
xor edx, eax
and edx, ecx
cmp edx, 0
jne 0x10051941
mov eax, esp
mov dword [eax], 0x5c
lea ecx, [esp + 0x260]
call fcn.10013890
sub esp, 4
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x1ceb50dd
sub edx, 1
sub edx, 0x1ceb50dd
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10051758
jmp 0x10052d13
mov al, 1
mov ecx, dword [esp + 0x348]
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0x98e5a307
sub edi, 1
add edi, 0x98e5a307
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov dl, bl
xor dl, 1
xor al, 0
mov dh, bh
and dh, 0
and ah, al
mov byte [esp + 0x143], al
mov al, dl
and al, 0
mov byte [esp + 0x142], al
mov al, byte [esp + 0x143]
and bl, al
or dh, ah
mov ah, byte [esp + 0x142]
or ah, bl
xor dh, ah
or bh, dl
xor bh, 1
or al, 0
and bh, al
or dh, bh
test dh, 1
mov dword [esp + 0x13c], ecx
jne 0x100517f7
jmp 0x10052d13
mov eax, esp
mov ecx, dword [esp + 0x13c]
mov dword [eax], ecx
lea ecx, [esp + 0x260]
call fcn.1007c940
sub esp, 4
mov dword [esp + 0x138], eax
mov eax, esp
mov dword [eax], 0x5c
lea ecx, [esp + 0x230]
call fcn.10013890
sub esp, 4
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
sub edx, 0x8eb29bb0
sub edx, 1
add edx, 0x8eb29bb0
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x1005187c
jmp 0x10052d18
mov al, 1
lea ecx, [esp + 0x180]
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0x706dce88
sub edi, 1
add edi, 0x706dce88
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov dl, bl
xor dl, 1
xor al, 1
mov dh, bh
and dh, 1
and ah, al
mov byte [esp + 0x137], al
mov al, dl
and al, 1
mov byte [esp + 0x136], al
mov al, byte [esp + 0x137]
and bl, al
or dh, ah
mov ah, byte [esp + 0x136]
or ah, bl
xor dh, ah
or bh, dl
xor bh, 1
or al, 1
and bh, al
or dh, bh
test dh, 1
mov dword [esp + 0x130], ecx
jne 0x1005191b
jmp 0x10052d18
mov eax, esp
mov ecx, dword [esp + 0x130]
mov dword [eax], ecx
lea ecx, [esp + 0x230]
call fcn.10052ed0
sub esp, 4
mov dword [esp + 0x12c], eax
jmp 0x10051941
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov eax, dword [0x101518a8]
lea ecx, [esp + 0x260]
mov dword [esp + 0x128], eax
call fcn.100c6280
mov ecx, esp
lea edx, [esp + 0x17c]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 4], eax
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x14], 0xf013f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx], 0x80000002
mov eax, dword [esp + 0x128]
call eax
sub esp, 0x24
mov dword [esp + 0x124], eax
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x10051a32
jmp 0x10052d1d
mov eax, 0
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x174], ecx
cmp dword [esp + 0x174], 0
setge dl
mov esi, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub eax, 1
mov ebx, esi
add ebx, eax
imul esi, ebx
and esi, 1
cmp esi, 0
sete dh
cmp edi, 0xa
setl al
mov ah, dh
and ah, al
xor dh, al
or ah, dh
test ah, 1
mov byte [esp + 0x123], dl
jne 0x10051aa0
jmp 0x10052d1d
mov al, byte [esp + 0x123]
test al, 1
jne 0x10051ab4
jmp 0x10051bc4
mov al, 1
mov ecx, 0
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub ecx, 1
mov edi, edx
add edi, ecx
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x10051b25
jmp 0x10052d30
mov al, 1
cmp dword [esp + 0x17c], 0
setne cl
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
add edi, 0x8eb5dc59
sub edi, 1
sub edi, 0x8eb5dc59
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl ch
mov bl, ah
xor bl, 1
mov bh, ch
xor bh, 1
xor al, 1
mov dl, bl
and dl, 1
and ah, al
mov dh, bh
and dh, 1
and ch, al
or dl, ah
or dh, ch
xor dl, dh
or bl, bh
xor bl, 1
or al, 1
and bl, al
or dl, bl
test dl, 1
mov byte [esp + 0x122], cl
jne 0x10051bb0
jmp 0x10052d30
mov al, byte [esp + 0x122]
test al, 1
jne 0x10051d37
jmp 0x10051bc4
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x7bab6513
sub esi, 1
add esi, 0x7bab6513
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x10051c3a
jmp 0x10052d35
mov eax, dword [0x10150180]
lea ecx, [esp + 0x260]
mov dword [esp + 0x11c], eax
call fcn.100c6280
mov dl, 1
mov ecx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, ecx
add edi, 0x3eb75483
sub edi, 1
sub edi, 0x3eb75483
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete dh
cmp esi, 0xa
setl bl
mov bh, dh
xor bh, 1
mov cl, bl
xor cl, 1
xor dl, 1
mov ch, bh
and ch, 1
and dh, dl
mov dword [esp + 0x118], eax
mov al, cl
and al, 1
and bl, dl
or ch, dh
or al, bl
xor ch, al
or bh, cl
xor bh, 1
or dl, 1
and bh, dl
or ch, bh
test ch, 1
jne 0x10051cd0
jmp 0x10052d35
mov eax, esp
lea ecx, [esp + 0x17c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x118]
mov dword [eax + 4], ecx
mov dword [eax + 0x20], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0xf003f
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax], 0x80000002
mov eax, dword [esp + 0x11c]
call eax
sub esp, 0x24
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x174], eax
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10051d81
jmp 0x10052d4a
cmp dword [esp + 0x174], 0
setge al
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x8b14486e
sub esi, 1
sub esi, 0x8b14486e
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
and bh, bl
xor ah, bl
or bh, ah
test bh, 1
mov byte [esp + 0x113], al
jne 0x10051de7
jmp 0x10052d4a
mov al, byte [esp + 0x113]
test al, 1
jne 0x10051dfb
jmp 0x10051ee4
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10051e45
jmp 0x10052d4f
mov al, 1
cmp dword [esp + 0x17c], 0
setne cl
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0x279e031
sub edi, 1
add edi, 0x279e031
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl ch
mov bl, ah
xor bl, 1
mov bh, ch
xor bh, 1
xor al, 0
mov dl, bl
and dl, 0
and ah, al
mov dh, bh
and dh, 0
and ch, al
or dl, ah
or dh, ch
xor dl, dh
or bl, bh
xor bl, 1
or al, 0
and bl, al
or dl, bl
test dl, 1
mov byte [esp + 0x112], cl
jne 0x10051ed0
jmp 0x10052d4f
mov al, byte [esp + 0x112]
test al, 1
jne 0x10051f02
jmp 0x10051ee4
mov eax, dword [esp + 0x174]
mov dword [esp + 0x350], eax
mov dword [esp + 0x170], 1
jmp 0x10052c93
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xab03cf86
sub esi, 1
add esi, 0xab03cf86
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x10051f78
jmp 0x10052d54
mov eax, dword [0x10150010]
lea ecx, [esp + 0x230]
mov dword [esp + 0x10c], eax
call fcn.100c6280
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xa83707a9
sub esi, 1
add esi, 0xa83707a9
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esp + 0x108], eax
jne 0x10051fe8
jmp 0x10052d54
mov eax, esp
lea ecx, [esp + 0x178]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 4], ecx
mov dword [eax + 0x20], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x14], 0xf013f
mov dword [eax + 0x10], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax], 0x80000002
mov eax, dword [esp + 0x10c]
call eax
sub esp, 0x24
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x174], eax
cmp dword [esp + 0x174], 0
jl 0x10052071
cmp dword [esp + 0x178], 0
jne 0x10052182
mov eax, dword [0x1014fa28]
lea ecx, [esp + 0x230]
mov dword [esp + 0x100], eax
call fcn.100c6280
mov ecx, esp
lea edx, [esp + 0x178]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 4], eax
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x14], 0xf003f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx], 0x80000002
mov eax, dword [esp + 0x100]
call eax
sub esp, 0x24
mov dword [esp + 0xfc], eax
mov eax, 0
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10052125
jmp 0x10052d69
mov eax, 0
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x174], ecx
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
sub eax, 1
mov edi, edx
add edi, eax
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x1005217d
jmp 0x10052d69
jmp 0x10052182
cmp dword [esp + 0x174], 0
jl 0x1005227f
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x393151ee
sub edx, 1
sub edx, 0x393151ee
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x100521e0
jmp 0x10052d7c
mov al, 1
cmp dword [esp + 0x178], 0
setne cl
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
sub edi, 0xb9a6279e
sub edi, 1
add edi, 0xb9a6279e
imul edx, edi
and edx, 1
cmp edx, 0
sete ah
cmp esi, 0xa
setl ch
mov bl, ah
xor bl, 1
mov bh, ch
xor bh, 1
xor al, 0
mov dl, bl
and dl, 0
and ah, al
mov dh, bh
and dh, 0
and ch, al
or dl, ah
or dh, ch
xor dl, dh
or bl, bh
xor bl, 1
or al, 0
and bl, al
or dl, bl
test dl, 1
mov byte [esp + 0xfb], cl
jne 0x1005226b
jmp 0x10052d7c
mov al, byte [esp + 0xfb]
test al, 1
jne 0x1005229d
jmp 0x1005227f
mov eax, dword [esp + 0x174]
mov dword [esp + 0x350], eax
mov dword [esp + 0x170], 1
jmp 0x10052c93
mov eax, 0xffffffff
mov ecx, dword [esp + 0x34c]
xor ecx, 0xffffffff
mov edx, eax
xor edx, 1
xor eax, 0x9dadf084
or ecx, edx
or eax, 0x9dadf084
xor ecx, 0xffffffff
and ecx, eax
cmp ecx, 0
je 0x100525e8
mov eax, dword [0x10151ba8]
mov ecx, dword [esp + 0x348]
mov dword [esp + 0xf4], eax
call fcn.100c6280
mov ecx, dword [esp + 0x17c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0xf4]
call eax
sub esp, 8
mov dword [esp + 0xf0], eax
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0xd1eaa32d
sub edx, 1
sub edx, 0xd1eaa32d
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x1005235d
jmp 0x10052d81
mov eax, 0
lea ecx, [esp + 0x180]
mov edx, dword [0x101516b4]
mov esi, dword [esp + 0x178]
mov edi, dword [0x101537c8]
mov ebx, dword [0x101537c4]
sub eax, 1
mov dword [esp + 0xec], eax
mov eax, edi
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xec]
add eax, ecx
imul edi, eax
and edi, 1
cmp edi, 0
sete al
cmp ebx, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], esi
jne 0x100523df
jmp 0x10052d81
mov eax, esp
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xe0]
mov dword [eax], edx
mov eax, dword [esp + 0xe4]
call eax
sub esp, 8
mov dword [esp + 0xdc], eax
mov eax, dword [0x1015115c]
mov ecx, dword [esp + 0x344]
mov dword [esp + 0xd8], eax
call fcn.100c6280
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0xd8]
call eax
sub esp, 4
mov dword [esp + 0xd4], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xbe5a0431
sub esi, 1
add esi, 0xbe5a0431
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x100524ac
jmp 0x10052d86
mov al, 1
mov ecx, dword [0x1014fb48]
mov edx, dword [esp + 0x17c]
mov esi, dword [0x101537c8]
mov edi, dword [0x101537c4]
mov ebx, esi
add ebx, 0x1982bba0
sub ebx, 1
sub ebx, 0x1982bba0
imul esi, ebx
and esi, 1
cmp esi, 0
sete ah
cmp edi, 0xa
setl bl
mov bh, ah
xor bh, 1
mov byte [esp + 0xd3], al
mov al, bl
xor al, 1
mov byte [esp + 0xd2], al
mov al, byte [esp + 0xd3]
xor al, 1
mov byte [esp + 0xd1], al
mov al, bh
and al, 1
mov byte [esp + 0xd0], al
mov al, byte [esp + 0xd1]
and ah, al
mov al, byte [esp + 0xd2]
and al, 1
mov byte [esp + 0xcf], al
mov al, byte [esp + 0xd1]
and bl, al
mov al, byte [esp + 0xd0]
or al, ah
mov ah, byte [esp + 0xcf]
or ah, bl
xor al, ah
mov ah, byte [esp + 0xd2]
or bh, ah
xor bh, 1
mov bl, byte [esp + 0xd1]
or bl, 1
and bh, bl
or al, bh
test al, 1
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xc4], edx
jne 0x10052593
jmp 0x10052d86
mov eax, esp
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov eax, dword [esp + 0xc8]
call eax
sub esp, 4
mov dword [esp + 0xc0], eax
mov eax, dword [0x10151130]
mov ecx, dword [esp + 0x178]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0xbc], eax
mov dword [esp + 0x350], 0
mov dword [esp + 0x170], 1
jmp 0x10052c93
mov eax, 0
mov dword [esp], 0
mov dword [esp + 0xb8], eax
call fcn.10020aa8
mov dword [esp + 0xb4], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x7fdf273a
sub esi, 1
add esi, 0x7fdf273a
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x1005267d
jmp 0x10052d8b
lea eax, [esp + 0x168]
mov ecx, 0x3e8
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xb0], eax
mov eax, edx
imul ecx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x168], eax
mov dword [esp + 0x164], 0x10000
mov eax, dword [0x10150960]
mov ecx, dword [esp + 0xb0]
lea edx, [esp + 0x200]
mov dword [esp + 0xac], ecx
mov ecx, edx
mov dword [esp + 0xa8], eax
call fcn.100c6280
mov ecx, 0
mov edx, dword [esp + 0x17c]
mov esi, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub ecx, 1
mov ebx, esi
add ebx, ecx
imul esi, ebx
and esi, 1
cmp esi, 0
sete cl
cmp edi, 0xa
setl ch
mov bl, cl
and bl, ch
xor cl, ch
or bl, cl
test bl, 1
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], edx
jne 0x1005273d
jmp 0x10052d8b
mov eax, esp
mov ecx, dword [esp + 0xac]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov esi, dword [esp + 0xa0]
mov dword [eax], esi
mov dword [eax + 0x14], 8
mov dword [eax + 0xc], 0xb
mov dword [eax + 8], 0
mov eax, dword [esp + 0xa8]
call eax
sub esp, 0x18
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x168]
mov ecx, dword [0x101516b8]
lea edx, [esp + 0x2f0]
mov dword [esp + 0x98], ecx
mov ecx, edx
mov dword [esp + 0x94], eax
call fcn.100c6280
mov ecx, dword [esp + 0x178]
mov edx, esp
mov esi, dword [esp + 0x94]
mov dword [edx + 0x10], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0x14], 8
mov dword [edx + 0xc], 0xb
mov dword [edx + 8], 0
mov eax, dword [esp + 0x98]
call eax
sub esp, 0x18
mov dword [esp + 0x90], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
add esi, 0x5657437f
sub esi, 1
sub esi, 0x5657437f
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x10052863
jmp 0x10052dd1
lea eax, [esp + 0x164]
mov ecx, dword [0x10150330]
lea edx, [esp + 0x290]
mov dword [esp + 0x8c], ecx
mov ecx, edx
mov dword [esp + 0x88], eax
call fcn.100c6280
mov ecx, dword [esp + 0x178]
mov edx, dword [0x101537c8]
mov esi, dword [0x101537c4]
mov edi, edx
add edi, 0x26fc51e5
sub edi, 1
sub edi, 0x26fc51e5
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov dl, bl
and dl, bh
xor bl, bh
or dl, bl
test dl, 1
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], ecx
jne 0x100528f2
jmp 0x10052dd1
mov eax, esp
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 4], edx
mov esi, dword [esp + 0x80]
mov dword [eax], esi
mov dword [eax + 0x14], 4
mov dword [eax + 0xc], 4
mov dword [eax + 8], 0
mov eax, dword [esp + 0x8c]
call eax
sub esp, 0x18
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x180]
mov ecx, dword [0x10150330]
mov dword [esp], eax
mov dword [esp + 0x78], ecx
call fcn.10022b23
mov dword [esp + 0x74], eax
lea eax, [esp + 0x180]
mov ecx, dword [esp + 0x74]
shl ecx, 1
sub ecx, 0x237cefdc
add ecx, 2
add ecx, 0x237cefdc
lea edx, [esp + 0x328]
mov dword [esp + 0x70], ecx
mov ecx, edx
mov dword [esp + 0x6c], eax
call fcn.100c6280
mov ecx, dword [esp + 0x178]
mov edx, esp
mov esi, dword [esp + 0x70]
mov dword [edx + 0x14], esi
mov edi, dword [esp + 0x6c]
mov dword [edx + 0x10], edi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 1
mov dword [edx + 8], 0
mov eax, dword [esp + 0x78]
call eax
sub esp, 0x18
mov dword [esp + 0x68], eax
mov eax, dword [0x10150330]
mov ecx, dword [esp + 0x344]
mov dword [esp + 0x64], eax
call fcn.100dfab0
shl eax, 1
sub eax, 0xfc16b9e6
add eax, 2
add eax, 0xfc16b9e6
mov ecx, dword [esp + 0x344]
mov dword [esp + 0x60], eax
call fcn.100c6280
lea ecx, [esp + 0x2c0]
mov dword [esp + 0x5c], eax
call fcn.100c6280
mov ecx, dword [esp + 0x178]
mov edx, esp
mov esi, dword [esp + 0x60]
mov dword [edx + 0x14], esi
mov edi, dword [esp + 0x5c]
mov dword [edx + 0x10], edi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 1
mov dword [edx + 8], 0
mov eax, dword [esp + 0x64]
call eax
sub esp, 0x18
mov dword [esp + 0x58], eax
mov eax, dword [0x101517c0]
mov ecx, dword [esp + 0x17c]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x54], eax
mov eax, dword [0x1014fb48]
mov ecx, dword [esp + 0x178]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x158]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x344]
mov dword [esp + 0x4c], ecx
mov ecx, esi
mov dword [esp + 0x48], edx
call fcn.100c6280
mov ecx, esp
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 0
mov eax, dword [esp + 0x4c]
call eax
sub esp, 0xc
mov dword [esp + 0x44], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0x9715c9c0
sub esi, 1
add esi, 0x9715c9c0
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x10052b2f
jmp 0x10052de6
mov eax, 0
mov ecx, dword [esp + 0x158]
mov edx, dword [ecx + 4]
mov edx, dword [edx + 8]
mov esi, dword [0x101537c8]
mov edi, dword [0x101537c4]
sub eax, 1
mov ebx, esi
add ebx, eax
imul esi, ebx
and esi, 1
cmp esi, 0
sete al
cmp edi, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov dword [esp + 0x40], edx
jne 0x10052b8b
jmp 0x10052de6
mov eax, esp
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esp + 0x40]
call eax
sub esp, 0x10
mov dword [esp + 0x3c], eax
mov al, 1
mov ecx, dword [0x101537c8]
mov edx, dword [0x101537c4]
mov esi, ecx
sub esi, 0xae6ff1d2
sub esi, 1
add esi, 0xae6ff1d2
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x10052c2b
jmp 0x10052deb
mov dword [esp + 0x350], 0
mov dword [esp + 0x170], 1
mov eax, dword [0x101537c8]
mov ecx, dword [0x101537c4]
mov edx, eax
add edx, 0x8d35c6db
sub edx, 1
sub edx, 0x8d35c6db
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x10052c8e
jmp 0x10052deb
jmp 0x10052c93
lea ecx, [esp + 0x200]
call fcn.1009a620
lea ecx, [esp + 0x230]
call fcn.1009a620
lea ecx, [esp + 0x260]
call fcn.1009a620
lea ecx, [esp + 0x290]
call fcn.1009a620
lea ecx, [esp + 0x2c0]
call fcn.1009a620
lea ecx, [esp + 0x2f0]
call fcn.1009a620
lea ecx, [esp + 0x328]
call fcn.1009a620
mov eax, dword [esp + 0x350]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c
jmp 0x10051330
lea ecx, [esp + 0x2a8]
call fcn.1002b850
jmp 0x10051470
jmp 0x10051530
jmp 0x10051758
jmp 0x1005187c
mov eax, dword [esp + 0x124]
mov dword [esp + 0x174], eax
jmp 0x10051a32
jmp 0x10051b25
lea ecx, [esp + 0x260]
call fcn.100c6280
mov dword [esp + 0x38], eax
jmp 0x10051c3a
jmp 0x10051d81
jmp 0x10051e45
lea ecx, [esp + 0x230]
call fcn.100c6280
mov dword [esp + 0x34], eax
jmp 0x10051f78
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x174], eax
jmp 0x10052125
jmp 0x100521e0
jmp 0x1005235d
jmp 0x100524ac
mov eax, 0x3e8
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x30], eax
mov eax, ecx
mov edx, dword [esp + 0x30]
imul edx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x168], eax
mov dword [esp + 0x164], 0x10000
lea ecx, [esp + 0x200]
call fcn.100c6280
mov dword [esp + 0x2c], eax
jmp 0x1005267d
lea ecx, [esp + 0x290]
call fcn.100c6280
mov dword [esp + 0x28], eax
jmp 0x10052863
jmp 0x10052b2f
mov dword [esp + 0x350], 0
mov dword [esp + 0x170], 1
jmp 0x10052c2b