Function at 0x528000
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
pushfd
pushal
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edi
mov eax, dword [esp + 0x74]
mov dword [ebp - 0x24], eax
lea eax, [esp + 0x78]
mov dword [ebp - 0x28], eax
call 0x528030
pop ebx
sub ebx, 0x30
mov eax, ebx
add eax, 0x1030
mov edi, dword [eax]
sub edi, 0x540
mov eax, ebx
add eax, 0xf81
mov dword [edi], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
movzx eax, byte [eax]
imul eax, eax, 4
add eax, ebx
add eax, 0x1034
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax]
inc ebx
mov dword [ebp - 4], ebx
mov dword [eax], ebx
cmp dword [edi + 4], 0x82716253
je 0x52846d
invalid
push ecx
push edx
push esi
push edi
call 0x5280af
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
imul esp, dword [ebp + 0x72], 0x6e
insb byte es:[edi], dx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [eax + 0x26], dh
jns 0x528123
mov esi, dword [esp]
add esp, 4
mov edi, esi
add edi, 0x14
mov ecx, 0x400000
mov eax, dword [ecx + 0x3c]
add eax, ecx
mov ebx, dword [eax + 0x80]
add ebx, ecx
cmp dword [ebx + 0xc], 0
je 0x528177
mov eax, dword [ebx + 0xc]
add eax, 0x400000
cmp word [eax + 6], 0x3233
je 0x5280f7
add ebx, 0x14
jmp 0x5280d2
xor edx, edx
xor ecx, ecx
cmp byte [edi + ecx], 0
je 0x528119
mov dl, byte [eax + ecx]
cmp dl, 0x61
jae 0x528111
cmp dl, 0x41
jb 0x528111
add dl, 0x20
cmp dl, byte [edi + ecx]
jne 0x5280ef
inc ecx
jmp 0x5280fb
mov eax, dword [ebx + 0x10]
cmp eax, 0
jne 0x52812c
mov eax, dword [ebx]
cmp eax, 0
je 0x528177
add eax, 0x400000
mov eax, dword [eax]
and eax, 0xfffff000
mov ecx, dword fs:[0]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov ecx, esi
add ecx, 0x1f2
push ecx
push dword fs:[0]
mov dword fs:[0], esp
mov edi, dword [esi + 4]
mov ecx, edi
sub ecx, 0x100000
cmp word [edi], 0x5a4d
je 0x52818a
sub edi, 0x1000
cmp edi, ecx
jae 0x528166
mov dword [esi + 4], 0xffffffff
mov dword [esi + 0x10], 0xffffffff
jmp 0x528258
mov dword [esi + 4], edi
add esp, 8
xchg ecx, ebx
mov ecx, esi
add ecx, 0x205
push ecx
push dword fs:[0]
mov dword fs:[0], esp
xchg ebx, ecx
mov eax, dword [edi + 0x3c]
cmp eax, 0xffff
ja 0x52816d
add eax, edi
cmp dword [eax], 0x4550
jne 0x52816d
mov dword [esi + 8], eax
mov ebx, dword [eax + 0x78]
cmp ebx, 0
je 0x52817e
add ebx, dword [esi + 4]
mov dword [esi + 0xc], ebx
mov ecx, dword [ebx + 0x18]
cmp ecx, 0
je 0x528177
mov edx, dword [ebx + 0x20]
cmp edx, 0
je 0x528177
mov ebx, dword [ebx + 0x24]
cmp ebx, 0
je 0x528177
add ebx, dword [esi + 4]
add edx, dword [esi + 4]
mov eax, dword [edx]
add eax, dword [esi + 4]
cmp dword [eax], 0x50746547
jne 0x528245
cmp dword [eax + 4], 0x41636f72
jne 0x528245
cmp dword [eax + 8], 0x65726464
jne 0x528245
cmp word [eax + 0xc], 0x7373
jne 0x528245
cmp byte [eax + 0xe], 0
jne 0x528245
movzx eax, word [ebx]
mov ebx, dword [esi + 0xc]
sub eax, dword [ebx + 0x10]
inc eax
mov ecx, dword [ebx + 0x1c]
add ecx, dword [esi + 4]
mov eax, dword [ecx + eax*4]
add eax, dword [esi + 4]
mov dword [esi + 0x10], eax
jmp 0x528258
add edx, 4
add ebx, 2
loop 0x5281fd
jmp 0x528177
mov eax, dword [esi]
mov dword fs:[0], eax
add esp, 8
mov eax, dword [esi + 4]
mov ebx, dword [esi + 0x10]
pop edi
pop esi
pop edx
pop ecx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], eax
jmp 0x5282b4
call 0x5282ca
inc edi
je 0x52830a
outsd dx, dword [esi]
jne 0x52832d
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
inc ecx
add bh, bh
ja 0x5282dd
call dword [edi + 0xc]
mov dword [edi + 8], eax
call 0x5282e3
dec edi
jo 0x528340
outsb dx, byte [esi]
inc ebp
jbe 0x528344
outsb dx, byte [esi]
je 0x528323
add bh, bh
ja 0x5282f6
call dword [edi + 0xc]
mov dword [edi + 0x14], eax
call 0x5282fa
push ebx
je 0x52833a
jbe 0x52835c
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x5282fa
push dword [edi + 0x10]
call dword [edi + 0xc]
mov dword [edi + 0x18], eax
call 0x528314
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x528372
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add bh, bh
ja 0x528327
call dword [edi + 0xc]
mov dword [edi + 0x1c], eax
call 0x52832f
inc ebx
jb 0x52838a
popal
je 0x52838d
push esp
push esp
push 0x64616572
add bh, bh
add bh, bh
ja 0x528342
call dword [edi + 0xc]
mov dword [edi + 0x28], eax
call 0x528348
push edx
jae 0x5283a6
add byte [eax], al
add byte [edx + 0x65], dl
jae 0x5283a6
je 0x528388
je 0x528388
inc ebp
jbe 0x5283aa
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x528348
push dword [edi + 0x10]
call dword [edi + 0xc]
mov dword [edi + 0x2c], eax
call 0x528369
inc edi
je 0x52839d
jne 0x5283ce
jb 0x5283c3
outsb dx, byte [esi]
je 0x5283b5
push 0x64616572
dec ecx
add bh, bh
ja 0x52837c
call dword [edi + 0xc]
mov dword [edi + 0x24], eax
call 0x528382
push ebp
jae 0x5283df
jb 0x5283af
xor ch, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
push edi
or byte [ecx + 0xde81047], cl
call 0x52839a
add byte [eax], al
add byte [eax + 0x6f], dl
push eax
outsd dx, dword [esi]
jae 0x528405
dec ebp
jae 0x528408
popal
inc ecx
add bh, bh
ja 0x5283ad
call dword [edi + 0xc]
mov dword [edi + 0x20], eax
call 0x5283b5
add byte [eax], al
inc ecx
jbe 0x52840d
jbe 0x52840d
jo 0x528417
imul esi, dword [ebx], 0x6c642e32
xor esi, dword [edx]
insb byte es:[edi], dx
xor ch, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
push edi
or byte [ecx + 0xfe81047], cl
add byte [eax], al
add byte [esi + 0x6d], ch
call dword [edi + 8]
mov dword [edi + 0x10], eax
call 0x5283cf
outsb dx, byte [esi]
insd dword es:[edi], dx
jae 0x528426
jae 0x528426
outsd dx, dword [esi]
jo 0x52842d
ja 0x528438
inc esp
dec esp
dec esp
add bh, bh
push edi
or byte [ecx + 0x10e83c47], cl
add byte [eax], al
add byte [edx + 0x65], dl
inc ebx
jb 0x528445
popal
popal
je 0x528448
dec ebx
jns 0x52842c
js 0x52842a
add bh, bh
ja 0x5283fd
call dword [edi + 0xc]
mov dword [edi + 0x30], eax
call 0x528406
push edx
inc esp
insb byte es:[edi], dx
insb byte es:[edi], dx
je 0x528466
dec ebx
jns 0x528446
add bh, bh
ja 0x528419
adc bh, bh
push edi
or al, 0x89
call dword [edi + 0xc]
mov dword [edi + 0x34], eax
call 0x528420
inc edi
xor al, 0xe8
or al, 0
add byte [eax], al
push edx
inc ebx
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x528481
dec ebx
jns 0x528420
push dword [edi + 0x10]
call dword [edi + 0xc]
mov dword [edi + 0x38], eax
mov eax, dword [edi + 0x3c]
inc edi
cmp al, 0x3d
cmp eax, 0
add byte [eax], al
add byte [eax], al
je 0x528444
call 0x52843b
inc esp
inc edi
add bh, bh
ja 0x52847a
call dword [edi + 0xc]
mov dword [edi + 0x40], eax
mov dword [edi + 4], 0x82716253
inc edi
add al, 0x53
bound esi, qword [ecx - 0x7e]
lea edx, [edi + 0x140]
xor ecx, ecx
mov dword [edx], 0
add edx, 4
add ecx, 4
cmp ecx, 0x100
stc
add byte [ecx], al
add byte [eax], al
jne 0x528453
nop
call dword [edi + 0x24]
lea edx, [edi + 0x440]
xor ecx, ecx
cmp dword [edx], eax
je 0x528498
add dh, byte [ebx + ebx - 0x7f]
cmp al, byte [eax]
add byte [eax], al
add byte [ecx + edx - 0x7f], dh
ret 4
cmp dword [edx], 0
add byte [eax], al
je 0x528496
add edx, 4
add ecx, 4
jmp 0x528479
mov dword [edx], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 8], 0
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x55c
cmp byte [ecx], 0
je 0x5284fb
cmp byte [ecx], 1
je 0x5285a6
cmp byte [ecx], 2
je 0x528651
cmp byte [ecx], 3
je 0x5286fc
cmp byte [ecx], 0x10
je 0x5287a7
cmp byte [ecx], 0x11
je 0x528859
cmp byte [ecx], 0x12
je 0x52890d
cmp byte [ecx], 0x13
je 0x5289c1
mov eax, 0
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0xc]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x10]
je 0x528553
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x14]
je 0x52858a
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
mov eax, 0
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x10]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x14]
je 0x5285fe
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x18]
je 0x528635
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
mov eax, 0
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x14]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x18]
je 0x5286a9
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add byte [eax], al
add byte [ecx], al
stc
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x1c]
je 0x5286e0
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ecx
dec ebp
enter 0x1b8, 0
add byte [eax], al
jmp 0x528a85
mov eax, 0
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x18]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x1c]
je 0x528754
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0x20]
je 0x52878b
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
mov eax, 0
mov esi, dword [ebp - 0x28]
add esi, 4
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [esi]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [esi + 4]
je 0x528807
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [esi + 8]
je 0x52883e
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [esi]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
mov eax, 0
mov esi, dword [ebp - 0x28]
add esi, 4
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [esi + 4]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [esi + 8]
je 0x5288ba
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [esi + 0xc]
je 0x5288f1
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [esi + 4]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
mov eax, 0
mov esi, dword [ebp - 0x28]
add esi, 4
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp ecx, dword [esi + 8]
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp ecx, dword [esi + 0xc]
je 0x52896e
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp ecx, dword [esi + 0x10]
je 0x5289a5
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a85
mov ecx, dword [esi + 8]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
mov eax, 0
mov edx, 0
mov esi, dword [ebp - 0x28]
sub esi, 4
add esi, edx
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x548
mov ecx, dword [ecx]
cmp dword [esi], ecx
jne 0x528a72
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x550
mov ecx, dword [ecx]
cmp dword [esi + 4], ecx
je 0x528a24
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x54c
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a72
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x558
mov ecx, dword [ecx]
cmp dword [esi + 8], ecx
je 0x528a57
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x554
mov ecx, dword [ecx]
cmp ecx, 0
jne 0x528a72
mov ecx, dword [esi]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 8]
mov dword [ebp - 0x38], ecx
mov eax, 1
jmp 0x528a85
cmp edx, 0x30
jge 0x528a85
add edx, 4
jmp 0x5289cb
cmp eax, 1
je 0x528aae
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x540
cmp byte [ecx], 1
je 0x5284a2
jmp 0x528fe9
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x564
mov ecx, dword [ecx]
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x55c
mov ebx, dword [ecx]
mov eax, dword [ebp - 8]
imul eax, eax, 0x10
add eax, edi
add eax, 0x548
mov eax, dword [eax]
mov edx, dword [edi + 0x3c]
cmp edx, 0
je 0x528afd
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
push edx
push ecx
push ebx
push eax
call dword [edi + 0x40]
mov ecx, dword [ebp - 8]
imul ecx, ecx, 0x28
add ecx, edi
add ecx, 0x564
mov ecx, dword [ecx]
mov ebx, dword [ebp - 8]
imul ebx, ebx, 0x28
add ebx, edi
add ebx, 0x55c
mov ebx, dword [ebx]
mov eax, dword [ebp - 8]
imul eax, eax, 0x28
add eax, edi
add eax, 0x548
mov eax, dword [eax]
mov edx, dword [ebp - 8]
cmp ecx, 0
je 0x528f6a
cmp ecx, 1
je 0x528f4e
cmp ecx, 2
je 0x528f34
cmp ecx, 3
je 0x528f1a
cmp ecx, 0x10
je 0x528ece
cmp ecx, 0x11
je 0x528ec0
cmp ecx, 0x20
je 0x528e42
cmp ecx, 0x21
je 0x528dc4
cmp ecx, 0x22
je 0x528da9
cmp ecx, 0x23
je 0x528d8e
cmp ecx, 0x30
je 0x528d55
cmp ecx, 0x31
je 0x528d6e
cmp ecx, 0x40
je 0x528d42
cmp ecx, 0x60
je 0x528d34
cmp ecx, 0x61
je 0x528d26
cmp ecx, 0x62
je 0x528d19
cmp ecx, 0x63
je 0x528d0c
cmp ecx, 0x70
je 0x528cdc
cmp ecx, 0x71
je 0x528ccd
cmp ecx, 0x80
je 0x528ca0
cmp ecx, 0x81
je 0x528c7a
jmp 0x528fe9
call 0x528c83
add byte [eax], al
add byte [eax], al
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push 0x1000
push 0
call dword [edi + 0x28]
jmp 0x528fe9
call 0x528ca9
add byte [eax], al
add byte [eax], al
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push 0x1000
push 0
call dword [edi + 0x28]
mov eax, dword [ebp - 0x28]
mov ebx, dword [edi]
mov dword [eax], ebx
jmp 0x528fe9
pushaw
push dword [ebp - 0x30]
call dword [ebp - 0x38]
popaw
jmp 0x528fe9
pushaw
push dword [ebp - 0x30]
call dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
popaw
mov ecx, 0
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x28]
mov ebx, dword [edi]
mov dword [eax], ebx
jmp 0x528fe9
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
xor dword [ecx], ebx
jmp 0x528fe9
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
mov dword [ecx], ebx
jmp 0x528fe9
mov ecx, dword [ebp - 0x34]
mov dword [ecx], 1
jmp 0x528fe9
mov ecx, dword [ebp - 0x34]
mov dword [ecx], 0
jmp 0x528fe9
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
sub ebx, 1
mov dword [eax], ebx
jmp 0x528fe9
nop
push 0
push 0
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call dword [edi + 0x20]
jmp 0x528fe9
nop
push 0
push 0
mov ecx, dword [ebp - 0x34]
add ecx, 0x400
push ecx
push dword [ebp - 0x38]
call dword [edi + 0x20]
jmp 0x528fe9
nop
mov eax, dword [ebp - 0x38]
cmp eax, 0
je 0x528da4
cmp eax, 0xffffffff
je 0x528da4
push eax
call dword [edi + 0x2c]
jmp 0x528fe9
nop
mov eax, dword [ebp - 0x38]
cmp eax, 0
je 0x528dbf
cmp eax, 0xffffffff
je 0x528dbf
push eax
call dword [edi + 0x18]
jmp 0x528fe9
nop
mov eax, dword [ebp - 0x38]
push ebx
push ecx
push edx
push edi
call 0x528dd9
inc ebp
push esi
pop edi
add byte [eax], al
add byte [eax], al
add byte [edi - 0x47], bl
or al, byte [eax]
add byte [eax], al
xor edx, edx
div ecx
add edx, 0x30
mov byte [edi + 6], dl
xor edx, edx
div ecx
add edx, 0x30
mov byte [edi + 5], dl
xor edx, edx
div ecx
add edx, 0x30
mov byte [edi + 4], dl
xor edx, edx
add eax, 0x14
div ecx
add edx, 0x30
mov byte [edi + 3], dl
mov eax, edi
pop edi
pop edx
pop ecx
pop ebx
push eax
push 0
push 0x1f0003
call dword [edi + 0x14]
cmp eax, 0
je 0x528e39
push eax
push eax
call dword [edi + 0x2c]
pop eax
push eax
call dword [edi + 0x1c]
jmp 0x528fe9
nop
mov eax, dword [ebp - 0x38]
push ebx
push ecx
push edx
push edi
call 0x528e57
inc ebp
push esi
pop edi
add byte [eax], al
add byte [eax], al
add byte [edi - 0x47], bl
or al, byte [eax]
add byte [eax], al
xor edx, edx
div ecx
add edx, 0x30
mov byte [edi + 6], dl
xor edx, edx
div ecx
add edx, 0x30
mov byte [edi + 5], dl
xor edx, edx
div ecx
add edx, 0x30
mov byte [edi + 4], dl
xor edx, edx
add eax, 0x14
div ecx
add edx, 0x30
mov byte [edi + 3], dl
mov eax, edi
pop edi
pop edx
pop ecx
pop ebx
push eax
push 0
push 0x1f0003
call dword [edi + 0x14]
cmp eax, 0
je 0x528eb7
push eax
push eax
call dword [edi + 0x18]
pop eax
push eax
call dword [edi + 0x1c]
jmp 0x528fe9
push dword [ebp - 0x38]
push dword [ebp - 0x34]
call dword [edi + 0x34]
jmp 0x528fe9
call 0x528ed7
add byte [eax], al
add byte [eax], al
pop ebx
push ebx
call 0x528ee2
add byte [eax], al
mov eax, dword [ebp - 0x28]
mov ebx, dword [edi]
mov dword [eax], ebx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x44], ecx
mov ecx, 1
mov dword [ebp - 0x40], ecx
jmp 0x528fe9
mov eax, dword [ebp - 0x28]
mov ebx, dword [edi]
mov dword [eax], ebx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x44], ecx
mov ecx, 0
mov dword [ebp - 0x40], ecx
jmp 0x528fe9
mov eax, dword [ebp - 0x28]
mov ebx, dword [edi]
mov dword [eax], ebx
mov ecx, 1
mov dword [ebp - 0x44], ecx
mov ecx, 0
mov dword [ebp - 0x40], ecx
jmp 0x528fe9
mov eax, dword [ebp - 0x28]
mov ebx, dword [edi]
mov dword [eax], ebx
mov ecx, 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
jmp 0x528fe9