Function at 0x100475c7
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006eaab
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x170
push ebx
push esi
xor ebx, ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x10], ebx
push edi
mov dword [esp + 0x18], 0x8308faa8
mov edi, edx
mov dword [esp + 0x28], 0xfffffffb
push 3
mov dword [esp + 0x2c], 0x2b8909ff
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], ebx
pop ecx
jmp 0x1004762f
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x140], 0xb55b
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1004761c
mov dword [esp + 0x10], ebx
jmp 0x1004764b
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x3c], 9
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ecx
jl 0x1004763b
mov dword [esp + 0x3c], ebx
jmp 0x100477b3
mov dword [esp + 0x24], 0x10f7a73d
lea ecx, [esp + 0x48]
push 1
call fcn.100183ab
xor esi, esi
mov dword [esp + 0x10], 0x73df2ef5
mov dword [esp + 0x1c], ebx
inc esi
jmp 0x10047691
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov dword [eax + ecx*4], 3
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x1004767e
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
inc ecx
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x140]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
sub edx, eax
mov eax, dword [esp + 0x24]
cmp eax, edx
setl cl
mov dword [esp + 0x14], ecx
mov dword [esp + 0x14], 2
cmp dword [esp + 0x14], ebx
jl 0x10047799
mov dword [esp + 0x1c], 7
mov dword [esp + 0x24], 0xfffffffe
cmp dword [esp + 0x40], ebx
je 0x10047786
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
jne 0x10047725
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x48]
cmp dword [eax], ecx
mov ecx, ebx
mov eax, dword [esp + 0x18]
sete dl
sub edx, eax
je 0x10047727
mov ecx, esi
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
add eax, ecx
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x486cae8e
mov eax, dword [esp + 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
jne 0x10047782
cmp dword [esp + 0x1c], ebx
je 0x10047786
mov ecx, esi
jmp 0x10047788
mov ecx, ebx
mov eax, dword [esp + 0x48]
inc ecx
mov dword [eax], ecx
dec dword [esp + 0x14]
jns 0x100476e4
push dword [esp + 0x48]
call fcn.10055488
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
inc dword [esp + 0x40]
pop ecx
cmp dword [esp + 0x3c], 2
jle 0x1004765a
mov dword [esp + 0x10], 1
mov dword [esp + 0x10], 8
jmp 0x100477fe
mov dword [esp + 0x1c], ebx
jmp 0x100477e5
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x104], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x100477d6
dec dword [esp + 0x104]
mov eax, dword [esp + 0x108]
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe2
jl 0x100477d0
mov dword [esp + 0x10], ebx
jmp 0x10047815
cmp dword [esp + 0x10], ebx
jne 0x1004781c
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffffd
jg 0x1004780b
push 1
lea ecx, [esp + 0xdc]
call fcn.100183ab
push 2
lea ecx, [esp + 0x64]
mov dword [esp + 0x188], ebx
call fcn.100183ab
mov byte [esp + 0x184], 1
mov dword [esp + 0x10], 0xfffffff7
mov dword [esp + 0x18], 0x9d8d9242
mov dword [esp + 0x14], 0xd3650dfa
mov dword [esp + 0x28], 0x1465ee6d
mov dword [esp + 0x28], 0xe318b474
mov dword [esp + 0x24], 0xbfaead22
mov dword [esp + 0x30], 0x7d86
mov dword [esp + 0x28], 0xba053926
mov dword [esp + 0x1c], ebx
jmp 0x1004789d
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x5464
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x1004788a
mov dword [esp + 0x10], 1
cmp dword [esp + 0x10], ebx
jl 0x10047aae
mov dword [esp + 0x1c], 0xe29a
lea ecx, [esp + 0x98]
push 2
call fcn.100183ab
mov dword [esp + 0x38], 0x45a3
mov dword [esp + 0x14], ebx
jmp 0x100478ed
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x114], 0x7dd9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x100478da
mov dword [esp + 0x14], ebx
jmp 0x10047910
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x98]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x100478fa
mov dword [esp + 0x28], 0x1d3e
cmp dword [esp + 0x28], 0x643
jge 0x1004797c
lea eax, [esp + 0x70]
mov edi, ebx
push eax
push 0x100077f0
call fcn.10054b0b
pop ecx
pop ecx
mov ecx, dword [esp + 0x70]
mov esi, ebx
test ecx, ecx
jle 0x1004796a
lea eax, [esp + 0xd4]
push eax
push 0x100077f0
call fcn.10054b0b
add edi, dword [esp + 0xdc]
inc esi
pop ecx
pop ecx
mov ecx, dword [esp + 0x70]
cmp esi, ecx
jl 0x10047946
mov eax, edi
cdq
idiv ecx
push eax
push 0x100077fc
call fcn.100552e3
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x60]
cmp dword [eax + ecx*4], ebx
jne 0x100479e5
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
neg edx
sub edx, dword [eax + ecx*4]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], ebx
je 0x100479d5
mov eax, dword [esp + 0x11c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
cmp eax, ecx
mov eax, dword [esp + 0x98]
setne dl
mov dword [eax], edx
mov dword [esp + 0x14], 0xfffffff5
jmp 0x10047a77
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x28], eax
jle 0x10047a6c
cmp dword [esp + 0x18], 0x196a
jle 0x10047a60
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x1c], ebx
jne 0x10047a52
cmp dword [esp + 0x11c], ebx
jne 0x10047a52
mov eax, ebx
jmp 0x10047a55
xor eax, eax
inc eax
cmp eax, dword [esp + 0x30]
je 0x10047a60
xor eax, eax
inc eax
jmp 0x10047a62
mov eax, ebx
cmp eax, dword [esp + 0x14]
jl 0x10047a6c
mov eax, ebx
jmp 0x10047a6f
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffffc
jl 0x10047a1b
push dword [esp + 0x98]
call fcn.10055488
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
dec dword [esp + 0x14]
pop ecx
jns 0x100478b6
mov edi, dword [esp + 0x2c]
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x10047ac5
push ebx
push 0x12ca
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
mov byte [esp + 0x184], bl
cmp dword [esp + 0x60], 0
je 0x10047ae9
push dword [esp + 0x60]
call fcn.10055488
pop ecx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x18], 0x623b4709
lea ecx, [esp + 0x74]
mov dword [esp + 0x10], ebx
push 2
call fcn.100183ab
mov byte [esp + 0x184], 2
mov dword [esp + 0x18], ebx
jmp 0x10047b21
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x74]
mov dword [eax + ecx*4], 0x20fe6e32
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x10047b0e
mov dword [esp + 0x10], ebx
jmp 0x10047c7f
mov dword [esp + 0x14], 0xfffffffc
mov dword [esp + 0x14], 1
cmp dword [esp + 0x14], ebx
jl 0x10047c68
mov dword [esp + 0x24], 0x363f9e92
mov dword [esp + 0x24], 1
cmp dword [esp + 0x24], ebx
jl 0x10047c5a
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], ebx
jmp 0x10047c45
push 2
lea ecx, [esp + 0x84]
call fcn.100183ab
mov dword [esp + 0x18], ebx
jmp 0x10047b9c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x8e00f680
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jl 0x10047b86
mov esi, dword [esp + 0x80]
mov dword [esi + 4], 1
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov dword [eax + ecx*4], 0x96ee4e91
mov dword [esp + 0x18], 1
cmp dword [esp + 0x18], ebx
jl 0x10047bfd
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x10047bf7
push ebx
push 0xf53
push 0x179
push 0x1e5c
call dword [sym.imp.GDI32.dll_SetWindowExtEx]
dec dword [esp + 0x18]
jns 0x10047bd6
dec dword [esi + 4]
jns 0x10047bb1
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x10047c1f
push ebx
push 0x148e
push 0x18ad
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push dword [esp + 0x80]
call fcn.10055488
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
inc dword [esp + 0x20]
pop ecx
cmp dword [esp + 0x1c], 1
jle 0x10047b72
dec dword [esp + 0x24]
jns 0x10047b65
mov eax, dword [esp + 0x14]
dec dword [esp + 0x14]
jns 0x10047b4b
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0x74]
cmp dword [eax], ecx
setne dl
mov dword [esp + 0x14], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0xb
jle 0x10047b31
mov byte [esp + 0x184], bl
cmp dword [esp + 0x74], 0
je 0x10047cae
push dword [esp + 0x74]
call fcn.10055488
pop ecx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0xb0]
mov dword [esp + 0x38], 0xfffffffa
mov dword [esp + 0x1c], 0x3622ba39
mov dword [esp + 0x2c], 1
push 3
call fcn.100183ab
mov byte [esp + 0x184], 3
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], ebx
jmp 0x10047d08
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xb0]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10047cf2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ebx
jmp 0x10047d75
push 1
lea ecx, [esp + 0xcc]
call fcn.100183ab
xor edx, edx
mov dword [esp + 0x18], ebx
inc edx
jmp 0x10047d46
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xc8]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x10047d34
mov eax, dword [esp + 0xc8]
push eax
inc dword [eax]
call fcn.10055488
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
inc dword [esp + 0x20]
pop ecx
cmp dword [esp + 0x1c], 2
jle 0x10047d1d
mov byte [esp + 0x184], bl
cmp dword [esp + 0xb0], 0
je 0x10047daf
push dword [esp + 0xb0]
call fcn.10055488
pop ecx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
push 1
lea ecx, [esp + 0xfc]
call fcn.100183ab
push 3
pop esi
push esi
lea ecx, [esp + 0x90]
mov byte [esp + 0x188], 4
call fcn.100183ab
mov dword [esp + 0x18], ebx
jmp 0x10047df1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], 0x4e1a3622
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10047ddb
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x10047e1a
push 0x494
push ebx
push ebx
push 0x182b
push ebx
push 0x131c
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov byte [esp + 0x23], bl
cmp byte [esp + 0x23], 0
je 0x10047e32
push ebx
push ebx
push 0x537
call dword [sym.imp.USER32.dll_SetPropA]
cmp dword [esp + 0x8c], 0
je 0x10047e5e
push dword [esp + 0x8c]
call fcn.10055488
pop ecx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x34], ebx
jmp 0x10047e7a
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xd8]
mov dword [eax + ecx*4], 0xdf37
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 1
jl 0x10047e64
mov dword [esp + 0x34], ebx
jmp 0x10047e9a
mov eax, dword [esp + 0x34]
mov dword [esp + eax*4 + 0xe8], 0xb5d1cb6a
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 4
jl 0x10047e87
lea edx, [esp + 0xf8]
lea ecx, [esp + 0x34]
call fcn.100470f6
push dword [esp + 0x6c]
movdqa xmm0, xmmword [0x10008000]
lea eax, [esp + 0x144]
mov dword [esp + 0x18], 0xdaab72b2
lea ecx, [esp + 0x58]
push eax
mov dword [esp + 0x18], 0xc0d133f2
lea eax, [esp + 0x138]
mov dword [esp + 0x24], 4
push eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x38], 0xa273426a
push ebx
movdqu xmmword [esp + 0x140], xmm0
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call fcn.1001e0c1
mov byte [esp + 0x184], 5
mov ecx, 0xffff1655
mov dword [esp + 0x30], 0x89d693ce
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
sub ecx, eax
xor eax, eax
cmp ecx, 0x30a4ccfd
setg al
xor ecx, ecx
cmp eax, 0x87fc
setge cl
sub ecx, 0x44d0ebb8
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
setl cl
imul ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x1c], ebx
je 0x1004808b
mov dword [esp + 0x2c], 0x976d9935
mov dword [esp + 0x2c], 0x2506ed55
mov dword [esp + 0x2c], 0x9080254f
mov dword [esp + 0x2c], 0xc6a687e9
mov dword [esp + 0x2c], 0xfffffff9
mov dword [esp + 0x2c], 0xb1d70f3f
mov dword [esp + 0x18], ebx
jmp 0x10047fee
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x14c], 0xfffffff6
inc dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jl 0x10047fdb
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 2
jg 0x10048076
mov esi, dword [esp + 0x54]
mov dword [esp + 0x2c], 0x8bee6dab
lea ecx, [esp + 0xa4]
push 4
call fcn.100183ab
mov dword [esp + 0x18], ebx
jmp 0x10048035
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
mov dword [eax + ecx*4], 0x4ea885c8
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1004801f
inc dword [esi + 8]
cmp dword [esp + 0xa4], 0
je 0x1004806b
push dword [esp + 0xa4]
call fcn.10055488
pop ecx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x10048003
mov eax, dword [esp + 0x1c]
xor ecx, ecx
cmp eax, 8
setne cl
mov dword [esp + 0x30], ecx
jmp 0x10048132
xor edx, edx
mov dword [esp + 0x14], 6
inc edx
mov dword [esp + 0x24], 0x9d081799
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x14], ebx
jne 0x100480ac
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, edx
setg cl
imul ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
add ecx, 0xe619
cmp ecx, eax
mov eax, dword [esp + 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
cmp dword [esp + 0x2c], eax
setl cl
xor edx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp eax, ecx
mov eax, dword [esp + 0x18]
setl dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x184], 4
cmp dword [esp + 0x54], 0
je 0x10048157
push dword [esp + 0x54]
call fcn.10055488
pop ecx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0xd8]
xor edx, edx
push 0xfffffffffffffffc
pop esi
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xd8]
add ecx, dword [eax]
inc edx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], 8
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], ebx
jmp 0x100481ab
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xe4], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10048198
mov dword [esp + 0x14], ebx
jmp 0x100481c6
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x120], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x100481b7
mov dword [esp + 0x1c], ebx
jmp 0x10048315
mov dword [esp + 0x18], esi
lea ecx, [esp + 0xbc]
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x30], edx
mov dword [esp + 0x30], 0xe712c519
mov dword [esp + 0x30], 0x9984333
mov dword [esp + 0x30], 0x79b347d1
mov dword [esp + 0x30], 0x8fab8d23
mov dword [esp + 0x30], 0xf7cf8fb6
mov dword [esp + 0x30], 0xfffffffd
push 4
call fcn.100183ab
push 4
mov dword [esp + 0x34], 0x49a7e128
mov dword [esp + 0x14], ebx
pop edx
jmp 0x10048244
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x158], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10048235
mov dword [esp + 0x10], ebx
jmp 0x10048262
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xbc]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x10048250
mov dword [esp + 0x10], ebx
jmp 0x10048281
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x168], 0x7092
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1004826e
mov eax, dword [esp + 0x1c]
mov ecx, 0xb15e314a
cmp ecx, eax
sbb eax, eax
xor edx, edx
inc edx
inc eax
mov ecx, edx
sub ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
lea eax, [ecx + 0x392de32c]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], ebx
jne 0x100482b6
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x2c], ebx
je 0x100482cc
mov ecx, edx
cmp dword [esp + 0x18], ebx
jne 0x100482ce
mov ecx, ebx
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0xe4], eax
dec dword [esp + 0x120]
cmp dword [esp + 0xbc], 0
je 0x10048311
push dword [esp + 0xbc]
call fcn.10055488
xor edx, edx
mov dword [esp + 0xc0], ebx
pop ecx
mov dword [esp + 0xc0], ebx
inc edx
mov dword [esp + 0xc4], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xa
jg 0x100481d6
mov eax, dword [esp + 0xe8]
cmp dword [esp + 0xf4], ebx
jne 0x10048383
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov edx, dword [esp + 0xd8]
dec eax
cmp eax, dword [edx]
mov edx, dword [edx]
setle cl
xor eax, eax
inc ecx
cmp ecx, 0xbc46
setge al
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
cmp eax, edx
setl cl
neg ecx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp edx, ecx
setge al
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], ebx
je 0x1004837f
cmp dword [esp + 0x38], ebx
jne 0x10048383
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xf8]
xor ecx, ecx
mov esi, dword [esp + 0xd8]
push edx
cmp dword [edx], ebx
mov eax, dword [esi]
setne cl
add eax, ecx
mov dword [esp + 0xf4], eax
call fcn.10055488
or dword [esp + 0x188], 0xffffffff
pop ecx
push esi
call fcn.10055488
pop ecx
mov eax, edi
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [esp + 0x6c]
mov esi, edx
mov edi, eax
call fcn.10046f97
mov ecx, dword [esp + 0x17c]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret