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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov ecx, dword [ebp + 8]
movsx edx, byte [ebp + 0xc]
push ebx
push edi
movsx edi, byte [ecx + 0x28e]
mov eax, edi
shl eax, 6
mov al, byte [eax + ecx + 0x1ac]
mov byte [ebp - 2], al
movsx eax, al
mov ebx, eax
sub ebx, edx
mov dword [ebp - 8], edx
mov dl, byte [ebx + 0x46c488]
add dl, byte [ebp - 8]
shl edi, 7
mov ebx, dword [edi + ecx + 0x18]
add edi, ecx
mov ecx, dword [edi + 0x10]
mov byte [ebp - 1], dl
mov edx, dword [edi + 0x14]
not ebx
mov dword [ebp - 0x48], ebx
mov ebx, dword [edi + 0x1c]
shl eax, 4
add eax, 0xcb3ee8
not edx
and edx, dword [eax + 4]
not ecx
and ecx, dword [eax]
not ebx
mov dword [ebp - 0x44], ebx
mov ebx, edx
mov edx, dword [eax + 0xc]
and edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], ecx
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x40]
and ecx, dword [ebp - 0x48]
or eax, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], edx
je 0x434e50
movsx dx, byte [ebp - 2]
mov eax, dword [ebp - 0x40]
shl dx, 7
mov word [ebp - 0x14], dx
jmp 0x434e03
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ebx
bsf eax, dword [ebp - 0x10]
jne 0x434e18
bsf eax, dword [ebp - 0xc]
je 0x434e18
add eax, 0x20
add eax, 0xffffffed
or eax, edx
mov edx, dword [esi + 0x1fc]
mov word [esi + edx*4], ax
mov eax, dword [ebp - 0x40]
inc dword [esi + 0x1fc]
mov edx, eax
add edx, 0xffffffff
adc ebx, 0xffffffff
and eax, edx
mov edx, ebx
mov ebx, dword [ebp - 0x3c]
and ebx, edx
mov edx, eax
or edx, ebx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ebx
jne 0x434e00
mov edx, dword [ebp - 0x34]
mov eax, ecx
or eax, edx
je 0x434ea6
movsx bx, byte [ebp - 2]
shl bx, 7
mov word [ebp - 0x14], bx
jmp 0x434e68
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
bsf eax, dword [ebp - 0x1c]
jne 0x434e7d
bsf eax, dword [ebp - 0x18]
je 0x434e7d
add eax, 0x20
add eax, 0x2d
or eax, ebx
mov ebx, dword [esi + 0x1fc]
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x434e65
mov eax, dword [ebp - 8]
cmp byte [eax + 0x46bbb8], 0
jl 0x434f98
shl eax, 4
add eax, 0xdd0f28
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x6c]
and edx, dword [edi + 0x68]
and ecx, dword [edi + 0x60]
and ebx, dword [edi + 0x64]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x24]
mov edx, ecx
or ecx, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], eax
je 0x434f3b
movsx cx, byte [ebp + 0xc]
mov word [ebp - 0x14], cx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
bsf eax, dword [ebp - 0x1c]
jne 0x434f0e
bsf eax, dword [ebp - 0x18]
je 0x434f0e
add eax, 0x20
mov ecx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, dword [ebp - 0x14]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edx, eax
and ebx, ecx
mov eax, edx
or eax, ebx
jne 0x434ef9
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
je 0x434f98
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
lea esp, [esp]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], edx
bsf eax, dword [ebp - 0x1c]
jne 0x434f65
bsf eax, dword [ebp - 0x18]
je 0x434f65
add eax, 0x20
add eax, 0x2d
shl eax, 7
mov ebx, eax
movsx ax, byte [ebp + 0xc]
or ebx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], bx
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x434f50
movsx eax, byte [ebp - 1]
cmp byte [eax + 0x46bbb8], 0
mov dword [ebp - 0xc], eax
jl 0x435088
shl eax, 4
add eax, 0xdd0f28
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x6c]
and edx, dword [edi + 0x68]
and ecx, dword [edi + 0x60]
and ebx, dword [edi + 0x64]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov edx, ecx
or ecx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x34], eax
je 0x435031
movsx cx, byte [ebp - 1]
mov word [ebp - 0x18], cx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
bsf eax, dword [ebp - 0x28]
jne 0x435004
bsf eax, dword [ebp - 0x24]
je 0x435004
add eax, 0x20
mov ecx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, dword [ebp - 0x18]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edx, eax
and ebx, ecx
mov eax, edx
or eax, ebx
jne 0x434fef
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x435088
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
nop
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x435055
bsf eax, dword [ebp - 0x24]
je 0x435055
add eax, 0x20
add eax, 0x2d
shl eax, 7
mov ebx, eax
movsx ax, byte [ebp - 1]
or ebx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], bx
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x435040
mov ecx, dword [ebp - 8]
cmp byte [ecx + 0x46bc18], 0
jl 0x4351be
mov edx, dword [edi + 0x74]
mov eax, ecx
mov ecx, dword [edi + 0x70]
shl eax, 4
add eax, 0xdd08f8
and ecx, dword [eax]
and edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x7c]
and ebx, dword [edi + 0x78]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov ebx, ecx
or ecx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], eax
je 0x435142
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ecx
bsf eax, dword [ebp - 0x28]
jne 0x4350ec
bsf eax, dword [ebp - 0x24]
je 0x4350ec
add eax, 0x20
sub al, 0x13
mov cl, al
movsx eax, cl
add eax, dword [ebp - 8]
cdq
sub eax, edx
mov edx, dword [ebp + 8]
sar eax, 1
cmp byte [eax + edx + 0x148], 0
jne 0x435128
mov edx, dword [esi + 0x1fc]
movsx ax, cl
movsx cx, byte [ebp + 0xc]
shl ax, 7
or ax, cx
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x3c]
mov ecx, ebx
add ecx, 0xffffffff
mov edx, eax
adc edx, 0xffffffff
and ebx, ecx
and eax, edx
mov ecx, ebx
or ecx, eax
mov dword [ebp - 0x3c], eax
jne 0x4350d4
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x4351be
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x435168
bsf eax, dword [ebp - 0x24]
je 0x435168
add eax, 0x20
add al, 0x2d
mov bl, al
movsx eax, bl
add eax, dword [ebp - 8]
cdq
sub eax, edx
mov edx, dword [ebp + 8]
sar eax, 1
cmp byte [eax + edx + 0x148], 0
jne 0x4351a4
movsx dx, byte [ebp + 0xc]
movsx ax, bl
shl ax, 7
or ax, dx
mov edx, dword [esi + 0x1fc]
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x34]
mov edx, ecx
add edx, 0xffffffff
mov ebx, eax
adc ebx, 0xffffffff
and ecx, edx
and eax, ebx
mov edx, ecx
or edx, eax
mov dword [ebp - 0x34], eax
jne 0x435150
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x46bc18], 0
jl 0x4352fe
shl eax, 4
add eax, 0xdd08f8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x7c]
and ebx, dword [edi + 0x78]
and ecx, dword [edi + 0x70]
and edx, dword [edi + 0x74]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov ebx, ecx
or ecx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], eax
je 0x43527e
jmp 0x435210
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ecx
bsf eax, dword [ebp - 0x28]
jne 0x435228
bsf eax, dword [ebp - 0x24]
je 0x435228
add eax, 0x20
sub al, 0x13
mov cl, al
movsx eax, cl
add eax, dword [ebp - 0xc]
cdq
sub eax, edx
mov edx, dword [ebp + 8]
sar eax, 1
cmp byte [eax + edx + 0x148], 0
jne 0x435264
mov edx, dword [esi + 0x1fc]
movsx ax, cl
movsx cx, byte [ebp - 1]
shl ax, 7
or ax, cx
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x3c]
mov ecx, ebx
add ecx, 0xffffffff
mov edx, eax
adc edx, 0xffffffff
and ebx, ecx
and eax, edx
mov ecx, ebx
or ecx, eax
mov dword [ebp - 0x3c], eax
jne 0x435210
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x4352fe
mov ecx, dword [ebp - 0x38]
lea esp, [esp]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x4352a8
bsf eax, dword [ebp - 0x24]
je 0x4352a8
add eax, 0x20
add al, 0x2d
mov bl, al
movsx eax, bl
add eax, dword [ebp - 0xc]
cdq
sub eax, edx
mov edx, dword [ebp + 8]
sar eax, 1
cmp byte [eax + edx + 0x148], 0
jne 0x4352e4
movsx dx, byte [ebp - 1]
movsx ax, bl
shl ax, 7
or ax, dx
mov edx, dword [esi + 0x1fc]
mov word [esi + edx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x34]
mov edx, ecx
add edx, 0xffffffff
mov ebx, eax
adc ebx, 0xffffffff
and ecx, edx
and eax, ebx
mov edx, ecx
or edx, eax
mov dword [ebp - 0x34], eax
jne 0x435290
mov eax, dword [ebp - 8]
shl eax, 4
add eax, 0xdd30e8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x4c]
and ebx, dword [edi + 0x48]
and ecx, dword [edi + 0x40]
and edx, dword [edi + 0x44]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov ebx, ecx
or ecx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], eax
je 0x4353ac
mov eax, edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
bsf eax, dword [ebp - 0x28]
jne 0x435352
bsf eax, dword [ebp - 0x24]
je 0x435352
add eax, 0x20
mov edx, dword [ebp - 8]
sub al, 0x13
movsx ecx, al
sub edx, ecx
movsx edx, byte [edx + 0x46c488]
add edx, ecx
mov ecx, dword [ebp + 8]
cmp byte [edx + ecx + 0x148], 0
jne 0x435392
mov ecx, dword [esi + 0x1fc]
movsx dx, al
movsx ax, byte [ebp + 0xc]
shl dx, 7
or dx, ax
mov word [esi + ecx*4], dx
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x3c]
mov edx, ebx
add edx, 0xffffffff
mov ecx, eax
adc ecx, 0xffffffff
and ebx, edx
and eax, ecx
mov edx, ebx
or edx, eax
mov dword [ebp - 0x3c], eax
jne 0x43533d
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x43542d
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
lea ebx, [ebx]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
bsf eax, dword [ebp - 0x28]
jne 0x4353d5
bsf eax, dword [ebp - 0x24]
je 0x4353d5
add eax, 0x20
mov ebx, dword [ebp - 8]
add al, 0x2d
movsx ecx, al
sub ebx, ecx
movsx ebx, byte [ebx + 0x46c488]
add ebx, ecx
mov ecx, dword [ebp + 8]
cmp byte [ebx + ecx + 0x148], 0
jne 0x435413
movsx cx, byte [ebp + 0xc]
cbw
shl ax, 7
or ax, cx
mov ecx, dword [esi + 0x1fc]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x34]
mov ecx, edx
add ecx, 0xffffffff
mov ebx, eax
adc ebx, 0xffffffff
and edx, ecx
and eax, ebx
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x34], eax
jne 0x4353c0
mov eax, dword [ebp - 0xc]
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
shl eax, 4
add eax, 0xdd30e8
and ecx, dword [eax]
and edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x4c]
and ebx, dword [edi + 0x48]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov ebx, ecx
or ecx, edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], eax
je 0x4354db
mov eax, edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
bsf eax, dword [ebp - 0x28]
jne 0x435481
bsf eax, dword [ebp - 0x24]
je 0x435481
add eax, 0x20
mov edx, dword [ebp - 0xc]
sub al, 0x13
movsx ecx, al
sub edx, ecx
movsx edx, byte [edx + 0x46c488]
add edx, ecx
mov ecx, dword [ebp + 8]
cmp byte [edx + ecx + 0x148], 0
jne 0x4354c1
mov ecx, dword [esi + 0x1fc]
movsx dx, al
movsx ax, byte [ebp - 1]
shl dx, 7
or dx, ax
mov word [esi + ecx*4], dx
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x3c]
mov edx, ebx
add edx, 0xffffffff
mov ecx, eax
adc ecx, 0xffffffff
and ebx, edx
and eax, ecx
mov edx, ebx
or edx, eax
mov dword [ebp - 0x3c], eax
jne 0x43546c
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x43555d
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
lea esp, [esp]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
bsf eax, dword [ebp - 0x28]
jne 0x435505
bsf eax, dword [ebp - 0x24]
je 0x435505
add eax, 0x20
mov ebx, dword [ebp - 0xc]
add al, 0x2d
movsx ecx, al
sub ebx, ecx
movsx ebx, byte [ebx + 0x46c488]
add ebx, ecx
mov ecx, dword [ebp + 8]
cmp byte [ebx + ecx + 0x148], 0
jne 0x435543
movsx cx, byte [ebp - 1]
cbw
shl ax, 7
or ax, cx
mov ecx, dword [esi + 0x1fc]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, dword [ebp - 0x34]
mov ecx, edx
add ecx, 0xffffffff
mov ebx, eax
adc ebx, 0xffffffff
and edx, ecx
and eax, ebx
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x34], eax
jne 0x4354f0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
lea ebx, [ebp - 0x30]
call fcn.00402ad0
mov ecx, dword [edi + 0x30]
mov ebx, dword [edi + 0x34]
mov edx, eax
and ebx, dword [edx + 4]
and ecx, dword [edx]
mov eax, dword [edx + 8]
and eax, dword [edi + 0x38]
mov edx, dword [edx + 0xc]
and edx, dword [edi + 0x3c]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov edx, ecx
or ecx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x34], eax
je 0x4355e7
movsx cx, byte [ebp + 0xc]
mov word [ebp - 0x14], cx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
bsf eax, dword [ebp - 0x28]
jne 0x4355ba
bsf eax, dword [ebp - 0x24]
je 0x4355ba
add eax, 0x20
mov ecx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, dword [ebp - 0x14]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edx, eax
and ebx, ecx
mov eax, edx
or eax, ebx
jne 0x4355a5
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x43563d
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x43560a
bsf eax, dword [ebp - 0x24]
je 0x43560a
add eax, 0x20
add eax, 0x2d
shl eax, 7
mov ebx, eax
movsx ax, byte [ebp + 0xc]
or ebx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], bx
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x4355f5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
lea ebx, [ebp - 0x30]
call fcn.00402ad0
mov edx, eax
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov eax, dword [edx + 8]
and eax, dword [edi + 0x38]
mov edx, dword [edx + 0xc]
and edx, dword [edi + 0x3c]
and ecx, dword [edi + 0x30]
and ebx, dword [edi + 0x34]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov edx, ecx
or ecx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x34], eax
je 0x4356c7
movsx cx, byte [ebp - 1]
mov word [ebp - 0x18], cx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
bsf eax, dword [ebp - 0x28]
jne 0x43569a
bsf eax, dword [ebp - 0x24]
je 0x43569a
add eax, 0x20
mov ecx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, dword [ebp - 0x18]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edx, eax
and ebx, ecx
mov eax, edx
or eax, ebx
jne 0x435685
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x43571d
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x4356ea
bsf eax, dword [ebp - 0x24]
je 0x4356ea
add eax, 0x20
add eax, 0x2d
shl eax, 7
mov ebx, eax
movsx ax, byte [ebp - 1]
or ebx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], bx
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x4356d5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
lea ebx, [ebp - 0x30]
call fcn.00402b80
mov edx, eax
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov eax, dword [edx + 8]
and eax, dword [edi + 0x58]
mov edx, dword [edx + 0xc]
and edx, dword [edi + 0x5c]
and ecx, dword [edi + 0x50]
and ebx, dword [edi + 0x54]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov edx, ecx
or ecx, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x34], eax
je 0x4357a7
movsx cx, byte [ebp + 0xc]
mov word [ebp - 0x14], cx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ebx
bsf eax, dword [ebp - 0x28]
jne 0x43577a
bsf eax, dword [ebp - 0x24]
je 0x43577a
add eax, 0x20
mov ecx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, dword [ebp - 0x14]
mov word [esi + ecx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ecx, ebx
adc ecx, 0xffffffff
and edx, eax
and ebx, ecx
mov eax, edx
or eax, ebx
jne 0x435765
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x4357fd
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x4357ca
bsf eax, dword [ebp - 0x24]
je 0x4357ca
add eax, 0x20
add eax, 0x2d
shl eax, 7
mov ebx, eax
movsx ax, byte [ebp + 0xc]
or ebx, eax
mov eax, dword [esi + 0x1fc]
mov word [esi + eax*4], bx
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x4357b5
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
lea ebx, [ebp - 0x30]
call fcn.00402ad0
mov edx, dword [eax + 8]
mov ecx, dword [edi + 0x50]
and ecx, dword [eax]
mov ebx, dword [edi + 0x54]
and ebx, dword [eax + 4]
mov eax, dword [eax + 0xc]
and eax, dword [edi + 0x5c]
and edx, dword [edi + 0x58]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x44]
mov edx, ecx
or ecx, ebx
mov edi, ebx
mov dword [ebp - 0x34], eax
je 0x435882
movsx cx, byte [ebp - 1]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edi
bsf eax, dword [ebp - 0x28]
jne 0x435856
bsf eax, dword [ebp - 0x24]
je 0x435856
add eax, 0x20
mov ebx, dword [esi + 0x1fc]
add eax, 0xffffffed
shl eax, 7
or eax, ecx
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, edx
add eax, 0xffffffff
mov ebx, edi
adc ebx, 0xffffffff
and edx, eax
and edi, ebx
mov eax, edx
or eax, edi
jne 0x435841
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x4358d6
movsx di, byte [ebp - 1]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
bsf eax, dword [ebp - 0x28]
jne 0x4358aa
bsf eax, dword [ebp - 0x24]
je 0x4358aa
add eax, 0x20
mov ebx, dword [esi + 0x1fc]
add eax, 0x2d
shl eax, 7
or eax, edi
mov word [esi + ebx*4], ax
inc dword [esi + 0x1fc]
mov eax, ecx
add eax, 0xffffffff
mov ebx, edx
adc ebx, 0xffffffff
and ecx, eax
and edx, ebx
mov eax, ecx
or eax, edx
jne 0x435895
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 8