Function at 0x481610
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4f15d7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20c
mov eax, dword [0x54a2b0]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x10], ebx
push 0x6c
mov dword [esp + 0x21c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], esi
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], esi
mov ebp, 0xf
je 0x4816de
push 0xb
push str.GENERALINFO
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], bl
call fcn.00401eb0
push 4
push 0x50788c
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], bl
call fcn.00401eb0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ebx, 3
mov ecx, edi
mov dword [esp + 0x22c], 2
mov dword [esp + 0x18], ebx
call fcn.0040ec50
mov dword [esp + 0x54], eax
jmp 0x4816e2
mov dword [esp + 0x54], esi
test bl, 2
mov edi, 0x10
je 0x481711
mov eax, dword [esp + 0x48]
and ebx, 0xfffffffd
cmp eax, edi
jb 0x481704
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bl, 1
mov dword [esp + 0x224], 0xffffffff
je 0x481739
mov eax, dword [esp + 0x2c]
and ebx, 0xfffffffe
cmp eax, edi
jb 0x481739
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 5
je 0x4817ec
push esi
push 0x507891
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 4
or ebx, 4
push 0x507894
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 6
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x50]
or ebx, 8
mov dword [esp + 0x228], 7
mov dword [esp + 0x14], ebx
call fcn.00481300
push eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x38]
or ebx, 0x10
push eax
mov ecx, edi
mov dword [esp + 0x230], 8
mov dword [esp + 0x1c], ebx
call fcn.0040e9a0
mov edi, eax
jmp 0x4817ee
xor edi, edi
test bl, 0x10
je 0x48181d
mov eax, dword [esp + 0x78]
and ebx, 0xffffffef
cmp eax, 8
jb 0x48180c
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], esi
mov word [esp + 0x64], si
test bl, 8
je 0x481848
mov eax, dword [esp + 0x48]
and ebx, 0xfffffff7
cmp eax, 0x10
jb 0x48183b
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bl, 4
mov dword [esp + 0x224], 0xffffffff
je 0x481871
mov eax, dword [esp + 0x2c]
and ebx, 0xfffffffb
cmp eax, 0x10
jb 0x481871
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0xc
je 0x481911
push esi
push 0x507899
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0xe
or ebx, 0x20
push 0x50789c
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0xd
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x34]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x40
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0xe
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481913
xor edi, edi
test bl, 0x40
je 0x48193e
mov eax, dword [esp + 0x48]
and ebx, 0xffffffbf
cmp eax, 0x10
jb 0x481931
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bl, 0x20
mov dword [esp + 0x224], 0xffffffff
je 0x481967
mov eax, dword [esp + 0x2c]
and ebx, 0xffffffdf
cmp eax, 0x10
jb 0x481967
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x11
je 0x481a0c
push esi
push 0x5078ab
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push ebp
or ebx, 0x80
push 0x5078ac
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x12
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x2c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x100
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x13
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481a0e
xor edi, edi
test bh, 1
je 0x481a3c
mov eax, dword [esp + 0x48]
and ebx, 0xfffffeff
cmp eax, 0x10
jb 0x481a2f
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bl, bl
mov dword [esp + 0x224], 0xffffffff
jns 0x481a67
mov eax, dword [esp + 0x2c]
and ebx, 0xffffff7f
cmp eax, 0x10
jb 0x481a67
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x16
je 0x481b0d
push esi
push 0x5078bc
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0x10
or ebx, 0x200
push 0x5078c0
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x17
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x3c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x400
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x18
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481b0f
xor edi, edi
test bh, 4
je 0x481b3d
mov eax, dword [esp + 0x48]
and ebx, 0xfffffbff
cmp eax, 0x10
jb 0x481b30
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bh, 2
mov dword [esp + 0x224], 0xffffffff
je 0x481b69
mov eax, dword [esp + 0x2c]
and ebx, 0xfffffdff
cmp eax, 0x10
jb 0x481b69
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x1b
je 0x481c0f
push esi
push 0x5078d1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0xc
or ebx, 0x800
push 0x5078d4
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x1c
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x38]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x1000
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x1d
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481c11
xor edi, edi
test bh, 0x10
je 0x481c3f
mov eax, dword [esp + 0x48]
and ebx, 0xffffefff
cmp eax, 0x10
jb 0x481c32
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bh, 8
mov dword [esp + 0x224], 0xffffffff
je 0x481c6b
mov eax, dword [esp + 0x2c]
and ebx, 0xfffff7ff
cmp eax, 0x10
jb 0x481c6b
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x20
je 0x481d11
push esi
push 0x5078e1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0xd
or ebx, 0x2000
push 0x5078e4
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x21
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x30]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x4000
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x22
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481d13
xor edi, edi
test bh, 0x40
je 0x481d41
mov eax, dword [esp + 0x48]
and ebx, 0xffffbfff
cmp eax, 0x10
jb 0x481d34
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bh, 0x20
mov dword [esp + 0x224], 0xffffffff
je 0x481d6d
mov eax, dword [esp + 0x2c]
and ebx, 0xffffdfff
cmp eax, 0x10
jb 0x481d6d
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x25
je 0x481e13
push esi
push 0x5078f2
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0xe
or ebx, 0x8000
push 0x5078f4
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x26
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x40]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x10000
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x27
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481e15
xor edi, edi
test ebx, 0x10000
je 0x481e46
mov eax, dword [esp + 0x48]
and ebx, 0xfffeffff
cmp eax, 0x10
jb 0x481e39
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test bh, bh
mov dword [esp + 0x224], 0xffffffff
jns 0x481e71
mov eax, dword [esp + 0x2c]
and ebx, 0xffff7fff
cmp eax, 0x10
jb 0x481e71
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x2a
je 0x481f17
push esi
push 0x507903
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0x12
or ebx, 0x20000
push 0x507904
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x2b
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x68]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x40000
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x2c
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x481f19
xor edi, edi
test ebx, 0x40000
je 0x481f4a
mov eax, dword [esp + 0x48]
and ebx, 0xfffbffff
cmp eax, 0x10
jb 0x481f3d
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test ebx, 0x20000
mov dword [esp + 0x224], 0xffffffff
je 0x481f79
mov eax, dword [esp + 0x2c]
and ebx, 0xfffdffff
cmp eax, 0x10
jb 0x481f79
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x2f
je 0x48201f
push esi
push 0x507917
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 0x11
or ebx, 0x80000
push 0x507918
lea ecx, [esp + 0x38]
mov byte [esp + 0x22c], 0x30
mov dword [esp + 0x18], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], esi
mov byte [esp + 0x3c], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x6c]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x38]
or ebx, 0x100000
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x31
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x482021
xor edi, edi
test ebx, 0x100000
je 0x482052
mov eax, dword [esp + 0x48]
and ebx, 0xffefffff
cmp eax, 0x10
jb 0x482045
mov edx, dword [esp + 0x34]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test ebx, 0x80000
mov dword [esp + 0x224], 0xffffffff
je 0x482081
mov eax, dword [esp + 0x2c]
and ebx, 0xfff7ffff
cmp eax, 0x10
jb 0x482081
mov eax, dword [esp + 0x18]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x54
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x50], edi
cmp edi, esi
mov dword [esp + 0x224], 0x34
je 0x4820ea
push ebp
push 0x50792c
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
lea ecx, [esp + 0x14]
or ebx, 0x200000
push ecx
mov ecx, edi
mov byte [esp + 0x228], 0x35
mov dword [esp + 0x14], ebx
call fcn.0040ece0
mov dword [esp + 0x50], eax
jmp 0x4820ee
mov dword [esp + 0x50], esi
test ebx, 0x200000
mov dword [esp + 0x224], 0xffffffff
je 0x48211d
mov eax, dword [esp + 0x2c]
and ebx, 0xffdfffff
cmp eax, 0x10
jb 0x48211d
mov edx, dword [esp + 0x18]
push edx
call fcn.004c2c15
add esp, 4
mov eax, dword [esp + 0x4c]
add eax, 0xd
mov dword [esp + 0x88], esi
mov dword [esp + 0x58], eax
nop
mov ecx, dword [esp + 0x88]
push ecx
lea edx, [esp + 0x11c]
push 0x50793c
push edx
call fcn.004c2e53
push 0x6c
call fcn.004c14e8
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x80], ebp
cmp ebp, esi
mov dword [esp + 0x224], 0x37
je 0x482214
push 9
mov edi, 0xf
push str.CHARACTER
lea ecx, [esp + 0xcc]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe0], esi
mov byte [esp + 0xd0], 0
call fcn.00401eb0
or ebx, 0x400000
lea eax, [esp + 0x118]
mov dword [esp + 0x48], edi
mov byte [esp + 0x224], 0x38
mov dword [esp + 0x10], ebx
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4821c7
sub eax, edi
push eax
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x38]
call fcn.00401eb0
lea ecx, [esp + 0xc4]
push ecx
lea edx, [esp + 0x34]
or ebx, 0x800000
push edx
mov ecx, ebp
mov dword [esp + 0x22c], 0x39
mov dword [esp + 0x18], ebx
call fcn.0040ec50
mov dword [esp + 0x84], eax
jmp 0x48221b
mov dword [esp + 0x84], esi
test ebx, 0x800000
je 0x482250
mov eax, dword [esp + 0x48]
and ebx, 0xff7fffff
cmp eax, 0x10
jb 0x48223f
mov eax, dword [esp + 0x34]
push eax
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], esi
mov byte [esp + 0x34], 0
test ebx, 0x400000
mov dword [esp + 0x224], 0xffffffff
je 0x48229f
mov eax, dword [esp + 0xdc]
and ebx, 0xffbfffff
cmp eax, 0x10
jb 0x482285
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0xdc], 0xf
mov dword [esp + 0xd8], esi
mov byte [esp + 0xc8], 0
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x80], edi
cmp edi, esi
mov dword [esp + 0x224], 0x3c
mov ebp, 0xf
je 0x48236b
push esi
push 0x50794a
lea ecx, [esp + 0x104]
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x118], esi
mov byte [esp + 0x108], 0
call fcn.00401eb0
push 8
or ebx, 0x1000000
push 0x50794c
lea ecx, [esp + 0x94]
mov byte [esp + 0x22c], 0x3d
mov dword [esp + 0x18], ebx
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], esi
mov byte [esp + 0x98], 0
call fcn.00401eb0
mov edx, dword [esp + 0x58]
movzx eax, byte [edx - 1]
push eax
lea ecx, [esp + 0x100]
push ecx
lea edx, [esp + 0x94]
or ebx, 0x2000000
push edx
mov ecx, edi
mov dword [esp + 0x230], 0x3e
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov dword [esp + 0x80], eax
jmp 0x482372
mov dword [esp + 0x80], esi
test ebx, 0x2000000
je 0x4823b2
mov eax, dword [esp + 0xa4]
and ebx, 0xfdffffff
cmp eax, 0x10
jb 0x48239c
mov eax, dword [esp + 0x90]
push eax
call fcn.004c2c15
add esp, 4
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], esi
mov byte [esp + 0x90], 0
test ebx, 0x1000000
mov dword [esp + 0x224], 0xffffffff
je 0x4823fd
mov eax, dword [esp + 0x114]
and ebx, 0xfeffffff
cmp eax, 0x10
jb 0x4823e7
mov ecx, dword [esp + 0x100]
push ecx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x114], ebp
mov dword [esp + 0x110], esi
mov byte [esp + 0x100], 0
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x7c], edi
cmp edi, esi
mov dword [esp + 0x224], 0x41
je 0x4824a0
push esi
push 0x507955
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
push 6
or ebx, 0x4000000
push 0x507958
lea ecx, [esp + 0x68]
mov byte [esp + 0x22c], 0x42
mov dword [esp + 0x18], ebx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], esi
mov byte [esp + 0x6c], 0
call fcn.00401eb0
mov edx, dword [esp + 0x58]
movzx eax, byte [edx]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x68]
or ebx, 0x8000000
push edx
mov ecx, edi
mov dword [esp + 0x230], 0x43
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x4824a2
xor edi, edi
test ebx, 0x8000000
je 0x4824d3
mov eax, dword [esp + 0x78]
and ebx, 0xf7ffffff
cmp eax, 0x10
jb 0x4824c6
mov eax, dword [esp + 0x64]
push eax
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], esi
mov byte [esp + 0x64], 0
test ebx, 0x4000000
mov dword [esp + 0x224], 0xffffffff
je 0x48250f
mov eax, dword [esp + 0x2c]
and ebx, 0xfbffffff
cmp eax, 0x10
jb 0x482502
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], esi
mov byte [esp + 0x18], 0
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
push edx
call fcn.0040ef30
push edi
mov edi, dword [esp + 0x88]
mov ecx, edi
call fcn.0040ef30
push edi
mov edi, dword [esp + 0x54]
mov ecx, edi
call fcn.0040f000
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x58]
inc eax
add edx, 2
cmp eax, 0xb
mov dword [esp + 0x88], eax
mov dword [esp + 0x58], edx
jl 0x482130
mov ecx, dword [esp + 0x54]
push edi
call fcn.0040ef30
push 0x6c
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x7c], edi
cmp edi, esi
mov dword [esp + 0x224], 0x46
je 0x482605
push 8
push 0x507960
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], esi
mov byte [esp + 0x6c], 0
call fcn.00401eb0
push 8
or ebx, 0x10000000
push 0x50796c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x22c], 0x47
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x18]
or ebx, 0x20000000
push ecx
mov ecx, edi
mov dword [esp + 0x22c], 0x48
mov dword [esp + 0x18], ebx
call fcn.0040ec50
mov dword [esp + 0x58], eax
jmp 0x482609
mov dword [esp + 0x58], esi
test ebx, 0x20000000
je 0x48263a
mov eax, dword [esp + 0x2c]
and ebx, 0xdfffffff
cmp eax, 0x10
jb 0x48262d
mov edx, dword [esp + 0x18]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], esi
mov byte [esp + 0x18], 0
test ebx, 0x10000000
mov dword [esp + 0x224], 0xffffffff
je 0x482669
mov eax, dword [esp + 0x78]
and ebx, 0xefffffff
cmp eax, 0x10
jb 0x482669
mov eax, dword [esp + 0x64]
push eax
call fcn.004c2c15
add esp, 4
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x7c], edi
cmp edi, esi
mov dword [esp + 0x224], 0x4b
je 0x48270b
push esi
push 0x507975
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], esi
mov byte [esp + 0x6c], 0
call fcn.00401eb0
push 8
or ebx, 0x40000000
push 0x507978
lea ecx, [esp + 0x1c]
mov byte [esp + 0x22c], 0x4c
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x1c]
or ebx, 0x80000000
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x4d
mov dword [esp + 0x1c], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x48270d
xor edi, edi
test ebx, ebx
jns 0x48273a
mov eax, dword [esp + 0x2c]
and ebx, 0x7fffffff
cmp eax, 0x10
jb 0x48272d
mov edx, dword [esp + 0x18]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], esi
mov byte [esp + 0x18], 0
test ebx, 0x40000000
mov dword [esp + 0x224], 0xffffffff
je 0x482761
cmp dword [esp + 0x78], 0x10
jb 0x482761
mov eax, dword [esp + 0x64]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x58]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x7c], edi
cmp edi, esi
mov dword [esp + 0x224], 0x50
je 0x48280b
push esi
push 0x507981
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], esi
mov byte [esp + 0x6c], 0
call fcn.00401eb0
push 8
push 0x507984
lea ecx, [esp + 0x1c]
mov byte [esp + 0x22c], 0x51
mov dword [esp + 0x64], 1
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], esi
mov byte [esp + 0x20], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 4]
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ebx, 3
mov ecx, edi
mov dword [esp + 0x230], 0x52
mov dword [esp + 0x68], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x482811
mov ebx, dword [esp + 0x5c]
xor edi, edi
test bl, 2
je 0x48283c
mov eax, dword [esp + 0x2c]
and ebx, 0xfffffffd
cmp eax, 0x10
jb 0x48282f
mov edx, dword [esp + 0x18]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], esi
mov byte [esp + 0x18], 0
test bl, 1
mov dword [esp + 0x224], 0xffffffff
je 0x482865
mov eax, dword [esp + 0x78]
and ebx, 0xfffffffe
cmp eax, 0x10
jb 0x482865
mov eax, dword [esp + 0x64]
push eax
call fcn.004c2c15
add esp, 4
mov ecx, dword [esp + 0x58]
push edi
call fcn.0040ef30
push 0x60
call fcn.004c14e8
mov edi, eax
add esp, 4
mov dword [esp + 0x7c], edi
cmp edi, esi
mov dword [esp + 0x224], 0x55
je 0x482927
push esi
push 0x50798d
lea ecx, [esp + 0xe8]
mov dword [esp + 0x100], ebp
mov dword [esp + 0xfc], esi
mov byte [esp + 0xec], 0
call fcn.00401eb0
push 0xa
or ebx, 4
push 0x507990
lea ecx, [esp + 0xb0]
mov byte [esp + 0x22c], 0x56
mov dword [esp + 0x64], ebx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], esi
mov byte [esp + 0xb4], 0
call fcn.00401eb0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 8]
push edx
lea eax, [esp + 0xe4]
push eax
lea ecx, [esp + 0xb0]
or ebx, 8
push ecx
mov ecx, edi
mov dword [esp + 0x230], 0x57
mov dword [esp + 0x68], ebx
call fcn.0040e7c0
mov edi, eax
jmp 0x482929
xor edi, edi
test bl, 8
je 0x482963
mov eax, dword [esp + 0xc0]
and ebx, 0xfffffff7
cmp eax, 0x10
jb 0x48294d
mov edx, dword [esp + 0xac]
push edx
call fcn.004c2c15
add esp, 4
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], esi
mov byte [esp + 0xac], 0
test bl, 4
mov dword [esp + 0x224], 0xffffffff
je 0x4829a3
cmp dword [esp + 0xf8], 0x10
jb 0x48298d
mov eax, dword [esp + 0xe4]
push eax
call fcn.004c2c15
add esp, 4
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xf4], esi
mov byte [esp + 0xe4], 0
mov esi, dword [esp + 0x58]
push edi
mov ecx, esi
call fcn.0040ef30
push esi
mov esi, dword [esp + 0x58]
mov ecx, esi
call fcn.0040ef30
mov ecx, dword [esp + 0x21c]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x20c]
pop ebx
call fcn.004c2e45
add esp, 0x218
ret