Function at 0x4d770f
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
movzx eax, word [ebp + 8]
sub esp, 0x25c
push ebx
mov ebx, ecx
mov ecx, 0x4a30
cmp eax, ecx
push esi
push edi
jg 0x4d8021
je 0x4d800d
mov ecx, 0x2417
cmp eax, ecx
jg 0x4d79d1
je 0x4d794f
mov ecx, 0x85c
cmp eax, ecx
jg 0x4d7861
je 0x4d77d2
sub eax, 0x835
je 0x4d77d2
dec eax
je 0x4d78c2
sub eax, 4
je 0x4d77c0
sub eax, 0x1b
jne 0x4d867c
cmp dword [ebp + 0xc], 1
jne 0x4d77b4
push 0xc
call fcn.00538281
xor edx, edx
cmp eax, edx
pop ecx
je 0x4d7794
or dword [eax + 4], 0xffffffff
mov dword [eax], edx
mov dword [eax + 8], edx
jmp 0x4d7796
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0x320
mov esi, dword [ecx]
mov dword [esi], eax
mov dword [eax], edx
mov dword [ecx], eax
mov byte [ebx + 0x29f], 1
jmp 0x4d867c
mov byte [ebx + 0x29f], 0
jmp 0x4d867c
cmp dword [ebp + 0xc], 1
sete al
mov byte [ebx + 0x2a8], al
jmp 0x4d867c
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x4d781d
cmp byte [ebx + 0x295], 0
je 0x4d867c
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d77fd
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d77ff
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0xb
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x295], 0
jmp 0x4d867c
cmp byte [ebx + 0x295], 0
jne 0x4d867c
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7841
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7843
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0xa
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x295], 1
jmp 0x4d867c
sub eax, 0x85d
je 0x4d78c2
sub eax, 0x1ba6
je 0x4d7b4a
sub eax, 4
je 0x4d7892
sub eax, 0xf
jne 0x4d867c
cmp dword [ebp + 0xc], eax
setne al
mov byte [ebx + 0x2aa], al
jmp 0x4d867c
push 0xc
call fcn.00538281
xor edx, edx
cmp eax, edx
pop ecx
je 0x4d78ab
or dword [eax + 4], 0xffffffff
mov dword [eax], edx
mov dword [eax + 8], edx
jmp 0x4d78ad
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0x65
mov esi, dword [ecx]
mov dword [esi], eax
mov dword [eax], edx
jmp 0x4d7bb6
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x4d790d
cmp byte [ebx + 0x296], 0
je 0x4d867c
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d78ed
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d78ef
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0xd
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x296], 0
jmp 0x4d867c
cmp byte [ebx + 0x296], 0
jne 0x4d867c
push 0xc
pop edi
push edi
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7933
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7935
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], edi
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x296], 1
jmp 0x4d867c
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x4d7962
mov byte [ebx + 0x2ab], 0
jmp 0x4d867c
mov eax, dword [ebx + 0x2b7]
mov ecx, dword [ebx + 0x2bf]
cmp eax, ecx
mov byte [ebx + 0x2ab], 1
mov dword [esp + 0x10], eax
jb 0x4d7981
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x10], esi
jbe 0x4d79b1
mov eax, dword [ebx + 0x2b3]
push dword [eax + esi*4]
mov ecx, dword [ebx + 0x2bb]
mov edi, dword [ecx + esi*4]
push str._06x
mov eax, 0x104
call fcn.005383cd
inc esi
cmp esi, dword [esp + 0x18]
pop ecx
pop ecx
jb 0x4d7987
lea edi, [ebx + 0x2b3]
push dword [edi]
call fcn.005f858a
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
pop ecx
mov dword [ebx + 0x2af], eax
jmp 0x4d867c
mov ecx, 0x2a42
cmp eax, ecx
jg 0x4d7bf5
je 0x4d7bbd
sub eax, 0x2461
je 0x4d7b4a
sub eax, 0x1a9
je 0x4d7b3c
sub eax, 0x402
je 0x4d7a9d
sub eax, 0x32
jne 0x4d867c
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x4d7a59
cmp byte [ebx + 0x297], 0
je 0x4d867c
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7a39
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7a3b
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0xf
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x297], 0
jmp 0x4d867c
cmp byte [ebx + 0x297], 0
jne 0x4d867c
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7a7d
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7a7f
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0xe
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x297], 1
jmp 0x4d867c
xor esi, esi
cmp byte [ebp + 0xc], 0x11
mov dword [esp + 0x10], esi
jge 0x4d7ab8
movsx eax, byte [ebp + 0xc]
mov eax, dword [eax*4 + 0x633cc0]
mov dword [esp + 0x10], eax
push 0x20c
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7ad3
mov word [eax + 4], si
mov dword [eax], 0x6923ec
mov esi, eax
movzx eax, byte [esp + 0x12]
push eax
mov eax, dword [esp + 0x14]
movzx ecx, ah
push ecx
and eax, 0xff
push eax
push str._02x_02x_02x
lea edi, [esi + 4]
mov eax, 0x104
call fcn.005383cd
push 0xc
call fcn.00538281
xor edi, edi
add esp, 0x14
cmp eax, edi
je 0x4d7b14
or dword [eax + 4], 0xffffffff
mov dword [eax], edi
mov dword [eax + 8], edi
mov edi, eax
push esi
lea esi, [edi + 8]
mov dword [edi + 4], 0x20
call fcn.00499a02
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], edi
and dword [edi], 0
mov dword [eax], edi
mov byte [ebx + 0x29a], 1
jmp 0x4d867c
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x309], eax
jmp 0x4d867c
add ebx, 0x298
xor esi, esi
cmp byte [ebx], 0
jne 0x4d867c
push 0xc
mov byte [ebx], 1
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7b75
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7b77
xor eax, eax
mov ecx, dword [ebp + 0xc]
cmp ecx, 1
je 0x4d7ba6
cmp ecx, 2
je 0x4d7b9d
jbe 0x4d7b94
cmp ecx, 5
ja 0x4d7b94
mov dword [eax + 4], 0x12f
jmp 0x4d7bad
mov dword [eax + 4], 0x12c
jmp 0x4d7bad
mov dword [eax + 4], 0x12d
jmp 0x4d7bad
mov dword [eax + 4], 0x12e
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
jmp 0x4d867c
mov ecx, dword [ebp + 0xc]
call fcn.004d8685
push 0xc
mov esi, eax
call fcn.00538281
test eax, eax
pop ecx
je 0x4d7be2
and dword [eax], 0
mov dword [eax + 4], 0x22
mov dword [eax + 8], esi
jmp 0x4d7be4
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [edx], eax
and dword [eax], 0
mov dword [ecx], eax
jmp 0x4d8312
cmp eax, 0x2a48
je 0x4d7fb8
cmp eax, 0x442c
je 0x4d7f78
cmp eax, 0x460b
jne 0x4d867c
mov eax, dword [ebp + 0xc]
xor esi, esi
cmp eax, esi
je 0x4d867c
cmp eax, 0xf801
je 0x4d867c
cmp dword [ebx + 0x303], esi
je 0x4d7ed4
mov edx, dword [ebx + 0x2ff]
mov edi, dword [edx + eax*4 - 4]
mov edx, dword [ebx + 0x2eb]
xor ecx, ecx
cmp edx, esi
mov dword [esp + 0x10], esi
jbe 0x4d7c7a
mov esi, dword [ebx + 0x2e7]
xor eax, eax
imul eax, eax, 0x1e
cmp edi, dword [eax + esi]
je 0x4d7c73
inc dword [esp + 0x10]
movzx eax, word [esp + 0x10]
cmp eax, edx
jb 0x4d7c5c
jmp 0x4d7c78
movzx ecx, word [esp + 0x10]
xor esi, esi
xor edi, edi
cmp ecx, esi
mov dword [esp + 0x14], esi
jle 0x4d7ca9
mov edx, dword [ebx + 0x2e7]
xor eax, eax
imul eax, eax, 0x1e
cmp byte [eax + edx + 0x16], 0
je 0x4d7c9c
inc dword [esp + 0x14]
jmp 0x4d7ca1
add dword [esp + 0x14], 9
inc edi
movzx eax, di
cmp eax, ecx
jl 0x4d7c8c
mov eax, dword [ebx + 0x2e7]
imul ecx, ecx, 0x1e
cmp byte [ecx + eax + 0x16], 0
jne 0x4d7cc3
mov eax, dword [ebx + 0x309]
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x2ef]
imul eax, eax, 0x21
lea edi, [ecx + eax]
mov dword [esp + 0x20], eax
mov al, byte [edi + 4]
test al, al
je 0x4d7d36
jbe 0x4d7d0e
cmp al, 2
jbe 0x4d7d2c
cmp al, 3
je 0x4d7d22
cmp al, 4
je 0x4d7d18
cmp al, 0xff
jne 0x4d7d0e
mov eax, dword [esp + 0x14]
imul eax, eax, 0xc
add eax, dword [ebx + 0x2f7]
mov dword [esp + 0x10], 0x40
call fcn.00496a8a
test al, al
jne 0x4d7d3e
mov dword [esp + 0x10], 1
jmp 0x4d7d3e
mov dword [esp + 0x10], 0x10
jmp 0x4d7d3e
mov dword [esp + 0x10], 0x20
jmp 0x4d7d3e
mov dword [esp + 0x10], 2
jmp 0x4d7d3e
mov dword [esp + 0x10], 8
mov eax, dword [ebx + 0x309]
cmp eax, esi
jne 0x4d7d85
mov eax, dword [edi + 6]
xor edx, edx
mov ecx, 0x2d0
div ecx
mov ecx, dword [ebx + 0x30d]
dec eax
cmp ecx, esi
mov dword [ebx + 0x309], eax
jl 0x4d7d7f
cmp eax, ecx
jle 0x4d7d71
inc dword [ebx + 0x335]
jmp 0x4d7d7f
jge 0x4d7d7f
lea eax, [ebx + 0x335]
dec dword [eax]
jns 0x4d7d7f
mov dword [eax], esi
mov eax, dword [ebx + 0x335]
cmp dword [ebx + 0x309], esi
mov dword [esp + 0x18], eax
jge 0x4d7d97
mov dword [ebx + 0x309], esi
cmp dword [ebx + 0x309], 9
jl 0x4d7daa
mov dword [ebx + 0x309], 8
cmp byte [ebx + 0x2a5], 0
jne 0x4d7de5
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7dca
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7dcc
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0x2c0
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x2a5], 1
mov eax, dword [ebx + 0x309]
cmp eax, dword [ebx + 0x30d]
jle 0x4d7e5c
push dword [esp + 0x10]
mov eax, dword [ebx + 0x2ef]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx]
mov edx, 0x631a7c
push dword [esp + 0x20]
lea edi, [esp + 0x5c]
call fcn.004cf50e
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d7e4c
push 0x21c
call fcn.00538281
test eax, eax
pop ecx
je 0x4d7e3b
push eax
call fcn.004cf543
jmp 0x4d7e3d
xor eax, eax
and dword [esi], 0
mov dword [esi + 4], 0x2d4
mov dword [esi + 8], eax
jmp 0x4d7e4e
xor esi, esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], esi
and dword [esi], 0
mov dword [eax], esi
xor esi, esi
mov eax, dword [ebx + 0x309]
mov ecx, dword [esp + 0x14]
mov dword [ebx + eax*4 + 0x311], ecx
mov eax, dword [ebx + 0x309]
push 0xc
mov dword [ebx + 0x30d], eax
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7e92
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
mov edi, eax
jmp 0x4d7e94
xor edi, edi
push 8
mov dword [edi + 4], 0x2be
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7eb2
mov dword [eax], 0x6923ec
mov dword [eax + 4], esi
jmp 0x4d7eb4
xor eax, eax
mov ecx, dword [esp + 0x18]
push eax
lea esi, [edi + 8]
mov dword [eax + 4], ecx
call fcn.0058c964
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], edi
and dword [edi], 0
mov dword [eax], edi
xor esi, esi
jmp 0x4d7f0f
cmp byte [ebx + 0x2a5], 0
jne 0x4d7f0f
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7ef4
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
jmp 0x4d7ef6
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 0x2c0
mov edx, dword [ecx]
mov dword [edx], eax
mov dword [eax], esi
mov dword [ecx], eax
mov byte [ebx + 0x2a5], 1
push 0xc
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7f28
or dword [eax + 4], 0xffffffff
mov dword [eax], esi
mov dword [eax + 8], esi
mov edi, eax
jmp 0x4d7f2a
xor edi, edi
push 8
mov dword [edi + 4], 0xc8
call fcn.00538281
cmp eax, esi
pop ecx
je 0x4d7f48
mov dword [eax], 0x6923ec
mov dword [eax + 4], esi
jmp 0x4d7f4a
xor eax, eax
mov ecx, dword [ebp + 0xc]
push eax
lea esi, [edi + 8]
mov dword [eax + 4], ecx
call fcn.0058c964
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], edi
and dword [edi], 0
mov dword [eax], edi
mov byte [ebx + 0x2a6], 1
mov byte [ebx + 0x2a7], 1
jmp 0x4d867c
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d8366
push 8
call fcn.00538281
test eax, eax
pop ecx
je 0x4d7faa
mov ecx, dword [ebp + 0xc]
shr ecx, 3
and ecx, 0x1f
mov dword [eax], 0x6923ec
mov dword [eax + 4], ecx
jmp 0x4d7fac
xor eax, eax
mov dword [esi + 4], 0x3f
jmp 0x4d835e
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d7ff3
push 8
call fcn.00538281
test eax, eax
pop ecx
je 0x4d7fe0
mov ecx, dword [ebp + 0xc]
mov dword [eax], 0x6923ec
mov dword [eax + 4], ecx
jmp 0x4d7fe2
xor eax, eax
and dword [esi], 0
mov dword [esi + 4], 0x10
mov dword [esi + 8], eax
mov eax, esi
jmp 0x4d7ff5
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [edx], eax
and dword [eax], 0
mov dword [ecx], eax
mov byte [ebx + 0x2ae], 1
jmp 0x4d867c
push 0
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.004d2e86
jmp 0x4d867c
mov ecx, 0x8411
cmp eax, ecx
jg 0x4d8379
je 0x4d832c
mov ecx, 0x6646
cmp eax, ecx
jg 0x4d826b
je 0x4d8067
sub eax, 0x4a43
je 0x4d8253
sub eax, 0xc
je 0x4d81cf
sub eax, 0x19c3
je 0x4d80dc
sub eax, 0x59
jne 0x4d867c
push 0
push str.Data
mov esi, ebx
call fcn.004fc120
mov edi, eax
test edi, edi
je 0x4d867c
lea esi, [esp + 0x28]
call fcn.0040c73b
mov eax, dword [edi + 0x2f]
mov esi, dword [edi + 0x2b]
xor edi, edi
push edi
push eax
lea eax, [esp + 0x40]
call fcn.0040209c
test al, al
je 0x4d8673
push edi
push dword [ebp + 0xc]
lea esi, [esp + 0x40]
call fcn.00402125
push 2
pop ecx
lea eax, [esp + 0x18]
lea esi, [esp + 0x28]
mov dword [esp + 0x18], edi
call fcn.00497336
push dword [ebp + 0x10]
movzx eax, word [esp + 0x1c]
push eax
mov eax, esi
push eax
mov ecx, ebx
call fcn.0058dee3
jmp 0x4d8673
mov eax, dword [ebp + 0xc]
fldz
movzx ecx, ax
fstp qword [ebx + 0x339]
lea edx, [ecx - 0x8440]
shr eax, 0x10
cmp edx, 0x7bbf
ja 0x4d810b
mov eax, 0x10000
sub eax, ecx
push 0x14
xor edx, edx
pop ecx
div ecx
jmp 0x4d8168
cmp ecx, 0x7bc0
ja 0x4d867c
test eax, eax
jne 0x4d811f
mov eax, ecx
jmp 0x4d8102
test ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
jge 0x4d8131
fadd qword [0x6941f8]
fmul qword [0x694ae8]
mov eax, dword [ebx + 0x345]
shr eax, 1
test eax, eax
fst qword [ebx + 0x339]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x4d8157
fadd qword [0x6941f8]
fmulp st(1)
push ecx
push ecx
fstp qword [esp]
call fcn.004014e7
call fcn.00613f70
mov edi, eax
test edi, edi
jle 0x4d867c
cmp edi, dword [ebx + 0x341]
je 0x4d867c
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d81b6
push 8
call fcn.00538281
test eax, eax
pop ecx
je 0x4d81a3
mov dword [eax], 0x6923ec
mov dword [eax + 4], edi
jmp 0x4d81a5
xor eax, eax
and dword [esi], 0
mov dword [esi + 4], 0x3c
mov dword [esi + 8], eax
mov eax, esi
jmp 0x4d81b8
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [edx], eax
and dword [eax], 0
mov dword [ecx], eax
mov dword [ebx + 0x341], edi
jmp 0x4d867c
lea eax, [esp + 0x50]
push eax
push dword [ebp + 0xc]
mov eax, ebx
call fcn.004d897d
lea eax, [esp + 0x50]
push eax
call fcn.004ddadc
push 0x414
mov edi, eax
call fcn.00538281
test eax, eax
pop ecx
je 0x4d8203
mov dword [eax], 0x6923ec
mov esi, eax
jmp 0x4d8205
xor esi, esi
lea eax, [esi + 0x20c]
push eax
mov eax, edi
call fcn.00401050
lea eax, [esi + 4]
push eax
mov eax, edi
call fcn.00401050
push 0xc
call fcn.00538281
test eax, eax
pop ecx
je 0x4d8239
and dword [eax], 0
mov dword [eax + 4], 0x32
mov dword [eax + 8], esi
jmp 0x4d823b
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [edx], eax
and dword [eax], 0
mov dword [ecx], eax
mov byte [ebx + 0x29d], 1
jmp 0x4d867c
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push ebx
call fcn.004d37a3
mov byte [ebx + 0x29c], 1
jmp 0x4d867c
cmp eax, 0x6649
je 0x4d831e
cmp eax, 0x6870
je 0x4d829d
cmp eax, 0x6a03
jne 0x4d867c
mov eax, dword [ebp + 0xc]
mov byte [ebx + 0x29f], 1
mov dword [ebx + 0x2cb], eax
jmp 0x4d867c
push 0x20c
call fcn.00538281
xor esi, esi
cmp eax, esi
pop ecx
je 0x4d82ba
mov word [eax + 4], si
mov dword [eax], 0x6923ec
mov esi, eax
movzx eax, byte [ebp + 0xe]
push eax
movzx eax, byte [ebp + 0xd]
push eax
movzx eax, byte [ebp + 0xc]
push eax
push str._02x_02x_02x
lea edi, [esi + 4]
mov eax, 0x104
call fcn.005383cd
push 0xc
call fcn.00538281
xor edi, edi
add esp, 0x14
cmp eax, edi
je 0x4d82f6
or dword [eax + 4], 0xffffffff
mov dword [eax], edi
mov dword [eax + 8], edi
mov edi, eax
push esi
lea esi, [edi + 8]
mov dword [edi + 4], 0x22
call fcn.00499a02
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], edi
and dword [edi], 0
mov dword [eax], edi
mov byte [ebx + 0x299], 1
jmp 0x4d867c
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x290], eax
jmp 0x4d867c
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d8366
push 8
call fcn.00538281
test eax, eax
pop ecx
je 0x4d8355
movsx ecx, word [ebp + 0xc]
mov dword [eax], 0x6923ec
mov dword [eax + 4], ecx
jmp 0x4d8357
xor eax, eax
mov dword [esi + 4], 0x138
and dword [esi], 0
mov dword [esi + 8], eax
jmp 0x4d8368
xor esi, esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], esi
and dword [esi], 0
mov dword [eax], esi
jmp 0x4d867c
mov ecx, 0xb022
cmp eax, ecx
jg 0x4d8413
je 0x4d8405
sub eax, 0x8840
je 0x4d83ce
sub eax, 0x7e3
je 0x4d83c0
dec eax
je 0x4d83b2
sub eax, 0x1ffd
jne 0x4d867c
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x2d7], eax
jmp 0x4d867c
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x2e3], eax
jmp 0x4d867c
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x2df], eax
jmp 0x4d867c
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d8366
push 8
call fcn.00538281
test eax, eax
pop ecx
je 0x4d83f7
movsx ecx, word [ebp + 0xc]
mov dword [eax], 0x6923ec
mov dword [eax + 4], ecx
jmp 0x4d83f9
xor eax, eax
mov dword [esi + 4], 0x3e
jmp 0x4d835e
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x2db], eax
jmp 0x4d867c
sub eax, 0xc60d
je 0x4d8553
sub eax, 0x40
je 0x4d842e
sub eax, 0x424
jne 0x4d867c
lea esi, [ebx + 0x2b3]
push dword [esi]
call fcn.005f858a
xor edi, edi
mov dword [esi], edi
mov dword [esi + 4], edi
pop ecx
lea esi, [esp + 0x28]
mov dword [ebx + 0x2af], edi
call fcn.0040c73b
mov esi, dword [ebx + 0x2c3]
push edi
push dword [ebx + 0x2c7]
lea eax, [esp + 0x40]
call fcn.0040209c
cmp dword [esp + 0x3c], edi
jbe 0x4d8673
push edi
push edi
lea esi, [esp + 0x40]
call fcn.00402125
mov dword [esp + 0x10], edi
push 4
pop ecx
lea eax, [ebp + 0xc]
lea esi, [esp + 0x28]
call fcn.00497336
cmp dword [esp + 0x10], 1
jne 0x4d853f
test dword [ebp + 0xc], 0xff000000
jne 0x4d853f
push 0xc
call fcn.00538281
cmp eax, edi
pop ecx
je 0x4d84c3
and dword [eax], 0
or dword [eax + 4], 0xffffffff
and dword [eax + 8], 0
mov edi, eax
jmp 0x4d84c5
xor edi, edi
cmp word [ebp + 8], 0xca71
jne 0x4d84dd
mov dword [edi + 4], 0x20
mov byte [ebx + 0x29a], 1
jmp 0x4d84eb
mov dword [edi + 4], 0x25
mov byte [ebx + 0x29b], 1
push 0x20c
call fcn.00538281
xor esi, esi
cmp eax, esi
pop ecx
je 0x4d8508
mov word [eax + 4], si
mov dword [eax], 0x6923ec
mov esi, eax
movzx eax, byte [ebp + 0xe]
push eax
movzx eax, byte [ebp + 0xd]
push eax
movzx eax, byte [ebp + 0xc]
push eax
lea eax, [esi + 4]
push str._02x_02x_02x
push eax
call fcn.00401000
add esp, 0x14
push esi
lea esi, [edi + 8]
call fcn.00499a02
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ecx], edi
and dword [edi], 0
mov dword [eax], edi
xor edi, edi
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jb 0x4d8481
jmp 0x4d8673
lea esi, [esp + 0x28]
call fcn.0040c73b
mov esi, dword [ebx + 0x2c3]
push 0
push dword [ebx + 0x2c7]
lea eax, [esp + 0x40]
call fcn.0040209c
cmp dword [esp + 0x3c], 0
jbe 0x4d8673
xor ebx, ebx
push ebx
push ebx
lea esi, [esp + 0x40]
call fcn.00402125
xor ecx, ecx
inc ecx
lea eax, [esp + 0x14]
lea esi, [esp + 0x28]
call fcn.00497336
movzx edi, byte [esp + 0x14]
lea esi, [esp + 0x18]
call fcn.0049a2f3
test edi, edi
jbe 0x4d85ce
push 2
pop ecx
lea eax, [esp + 0x14]
lea esi, [esp + 0x28]
call fcn.00497336
movsx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ecx + ebx*4], eax
inc ebx
cmp ebx, edi
jb 0x4d85ad
xor ecx, ecx
inc ecx
lea eax, [esp + 0x14]
lea esi, [esp + 0x28]
call fcn.00497336
movzx edi, byte [esp + 0x14]
lea esi, [esp + 0x20]
call fcn.0049a2f3
xor ebx, ebx
test edi, edi
jbe 0x4d8613
push 2
pop ecx
lea eax, [esp + 0x14]
lea esi, [esp + 0x28]
call fcn.00497336
movsx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4], eax
inc ebx
cmp ebx, edi
jb 0x4d85f2
push 0xc
call fcn.00538281
mov esi, eax
test esi, esi
pop ecx
je 0x4d8651
push 0x14
call fcn.00538281
test eax, eax
pop ecx
je 0x4d863e
lea ecx, [esp + 0x20]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.004cf4a7
jmp 0x4d8640
xor eax, eax
and dword [esi], 0
mov dword [esi + 4], 0x139
mov dword [esi + 8], eax
mov eax, esi
jmp 0x4d8653
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push dword [esp + 0x20]
mov dword [edx], eax
and dword [eax], 0
mov dword [ecx], eax
call fcn.005f858a
pop ecx
push dword [esp + 0x18]
call fcn.005f858a
pop ecx
lea esi, [esp + 0x28]
call fcn.0040c778
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc